PHPackages                             soiposervices/laravel-connect-profile - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. soiposervices/laravel-connect-profile

ActiveLibrary[API Development](/categories/api)

soiposervices/laravel-connect-profile
=====================================

Laravel package for configurable authenticated profile and connection APIs with QR sessions

00PHP

Since Apr 25Pushed 3mo agoCompare

[ Source](https://github.com/SoipoServices/laravel-connect-profile)[ Packagist](https://packagist.org/packages/soiposervices/laravel-connect-profile)[ RSS](/packages/soiposervices-laravel-connect-profile/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (1)DependenciesVersions (1)Used By (0)

Laravel Connect Profile
=======================

[](#laravel-connect-profile)

A Laravel package that exposes:

- an authenticated `/me`-style endpoint with configurable profile fields,
- user-to-user connection endpoints,
- QR-based connect session generation,
- signed public preview URLs for scanning flows,
- connection migration and model scaffolding.

Features
--------

[](#features)

- Configurable authenticated profile endpoint.
- Field allowlist and default field selection with `?fields=`.
- Connection request lifecycle: create, accept, reject, delete.
- QR session endpoint returning a short-lived signed connect URL.
- QR SVG endpoint powered by `simple-qrcode`.
- Auto-loaded package migrations through `loadMigrationsFrom()`.

Install
-------

[](#install)

```
composer require soiposervices/laravel-connect-profile
php artisan vendor:publish --tag=connect-profile-config
php artisan migrate
```

Default routes
--------------

[](#default-routes)

### Protected routes

[](#protected-routes)

```
GET    /api/connect-profile/me
POST   /api/connect-profile/sessions
GET    /api/connect-profile/qr?url={signed_url}
POST   /api/connect-profile/claim/{user}
POST   /api/connect-profile/connections/{connection}/accept
POST   /api/connect-profile/connections/{connection}/reject
DELETE /api/connect-profile/connections/{connection}

```

### Public signed route

[](#public-signed-route)

```
GET /api/connect-profile/preview/{user}?expires=...&signature=...

```

Example flow
------------

[](#example-flow)

1. Mobile app calls `POST /api/connect-profile/sessions`.
2. Package returns a signed preview URL.
3. App renders the signed URL as a QR code, either locally or through `/api/connect-profile/qr?url=...`.
4. Another device scans the QR and can open the signed preview endpoint.
5. Authenticated user calls `POST /api/connect-profile/claim/{user}` to create the connection.
6. Recipient accepts or rejects the connection.

Config
------

[](#config)

```
return [
    'route_prefix' => 'api/connect-profile',
    'route_middleware' => ['api', 'auth:sanctum'],
    'public_route_middleware' => ['api', 'signed'],
    'me_endpoint' => 'me',
    'allowed_attributes' => ['id', 'name', 'email', 'profile_photo_url', 'avatar_url', 'phone', 'bio'],
    'default_attributes' => ['id', 'name', 'email', 'profile_photo_url'],
    'attribute_map' => [
        'profile_photo_url' => 'profile_photo_url',
        'avatar_url' => 'avatar_url',
        'phone' => 'phone',
        'bio' => 'bio',
    ],
    'query_parameter' => 'fields',
    'max_attributes' => 10,
    'user_model' => App\Models\User::class,
    'qr_size' => 300,
    'connect_link_expiration_minutes' => 5,
    'auto_accept_mutual_connections' => false,
    'channels' => ['qr', 'bump', 'manual'],
];
```

/me examples
------------

[](#me-examples)

```
GET /api/connect-profile/me
GET /api/connect-profile/me?fields=name,email,profile_photo_url

```

Connection examples
-------------------

[](#connection-examples)

### Create session

[](#create-session)

```
POST /api/connect-profile/sessions
Authorization: Bearer {token}
```

### Create QR remotely

[](#create-qr-remotely)

```
GET /api/connect-profile/qr?url=https://example.com/api/connect-profile/preview/5?expires=...&signature=...
Authorization: Bearer {token}
```

### Claim connection

[](#claim-connection)

```
POST /api/connect-profile/claim/5
Authorization: Bearer {token}
Content-Type: application/json

{
  "channel": "qr"
}
```

### Accept connection

[](#accept-connection)

```
POST /api/connect-profile/connections/10/accept
Authorization: Bearer {token}
```

Notes
-----

[](#notes)

- The package assumes the host application already authenticates API requests, usually with Sanctum.
- `preview/{user}` is signed and public so QR scans can inspect the target profile before authenticated claiming.
- The migration assumes your user table is `users` and primary keys are standard Laravel IDs.
- If you want richer public preview fields, add a dedicated preview resource and configuration block.
- For field-level authorization, add a policy-aware resolver in the host app or package extension.

###  Health Score

18

—

LowBetter than 7% of packages

Maintenance55

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity12

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/16804994?v=4)[SoipoServices](/maintainers/SoipoServices)[@SoipoServices](https://github.com/SoipoServices)

### Embed Badge

![Health badge](/badges/soiposervices-laravel-connect-profile/health.svg)

```
[![Health](https://phpackages.com/badges/soiposervices-laravel-connect-profile/health.svg)](https://phpackages.com/packages/soiposervices-laravel-connect-profile)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35916.4M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24016.2M20](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172445.0k18](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93459.5k6](/packages/botman-driver-telegram)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
