PHPackages                             aslnbxrz/oneid-socialite - 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. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. aslnbxrz/oneid-socialite

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

aslnbxrz/oneid-socialite
========================

OneID provider for Laravel Socialite (Uzbekistan SSO)

1.0.0(6mo ago)1111↓50%MITPHPPHP ^8.0

Since Nov 6Pushed 3mo agoCompare

[ Source](https://github.com/aslnbxrz/oneid-socialite)[ Packagist](https://packagist.org/packages/aslnbxrz/oneid-socialite)[ RSS](/packages/aslnbxrz-oneid-socialite/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

OneID for Laravel Socialite
===========================

[](#oneid-for-laravel-socialite)

OneID (Uzbekistan SSO) provider for [SocialiteProviders](https://github.com/SocialiteProviders/Providers).

Requirements
------------

[](#requirements)

- PHP 8.1+
- Laravel 10/11+
- `laravel/socialite`
- `socialiteproviders/manager` or `aslnbxrz/oneid-socialite`

Installation
------------

[](#installation)

```
composer require socialiteproviders/oneid
```

or

```
composer require aslnbxrz/oneid-socialite
```

Configuration
-------------

[](#configuration)

Add to `config/services.php`:

```
'oneid' => [
    'client_id'     => env('ONEID_CLIENT_ID'),
    'client_secret' => env('ONEID_CLIENT_SECRET'),
    'redirect'      => env('ONEID_REDIRECT_URI'),
    // Optional (defaults shown):
    'base_url'      => env('ONEID_BASE_URL', 'https://sso.egov.uz'),
    'scope'         => env('ONEID_SCOPE', 'one_code'),
],
```

Add to your `.env`

```
ONEID_CLIENT_ID=your-client-id
ONEID_CLIENT_SECRET=your-client-secret
ONEID_REDIRECT_URI=https://your-app.com/auth/oneid/callback
# Optional:
# ONEID_BASE_URL=https://sso.egov.uz
# ONEID_SCOPE=one_code
```

Laravel 11+ Event Listener
--------------------------

[](#laravel-11-event-listener)

Place this in a service provider boot() method (e.g. App\\Providers\\AppServiceProvider):

```
use Illuminate\Support\Facades\Event;
use SocialiteProviders\Manager\SocialiteWasCalled;
use SocialiteProviders\OneID\Provider; // or Aslnbxrz\OneID\Provider

public function boot(): void
{
    Event::listen(function (SocialiteWasCalled $event) {
        $event->extendSocialite('oneid', Provider::class);
    });
}
```

Usage
-----

[](#usage)

#### Web (redirect flow)

[](#web-redirect-flow)

```
use Laravel\Socialite\Facades\Socialite;

// Redirect to OneID
Route::get('/auth/oneid/redirect', function () {
    return Socialite::driver('oneid')->redirect();
});

// Callback
Route::get('/auth/oneid/callback', function () {
    /** @var \Aslnbxrz\OneID\OneIDUser $user */
    $user = Socialite::driver('oneid')->user();

    // Standard fields
    $id    = $user->getId();
    $name  = $user->getName();
    $email = $user->getEmail();

    // Custom fields
    $pinfl    = $user->getPinfl();
    $sessId   = $user->getSessionId();
    $passport = $user->getPassport();
    $phone    = $user->getPhone();
    $gender   = $user->getGender();

    // TODO: login/register user logic
});
```

#### API (stateless mode)

[](#api-stateless-mode)

OneID can be integrated into API flows (e.g. mobile apps).
You may authenticate users by either **access\_token** (already issued by OneID) or **authorization code**.

```
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use Laravel\Socialite\Facades\Socialite;

// --- Variant A: using access_token directly ---
Route::post('/api/auth/oneid/token', function (Request $request) {
    $validated = $request->validate([
        'access_token' => 'required|string',
    ]);

    /** @var \Aslnbxrz\OneID\OneIDUser $user */
    $user = Socialite::driver('oneid')->userFromToken($validated['access_token']);

    return response()->json([
        'id'       => $user->getId(),
        'name'     => $user->getName(),
        'email'    => $user->getEmail(),
        'pinfl'    => $user->getPinfl(),
        'sess_id'  => $user->getSessionId(),
        'passport' => $user->getPassport(),
        'phone'    => $user->getPhone(),
        'gender'   => $user->getGender(),
    ]);
});

// --- Variant B: exchanging authorization code ---
Route::post('/api/auth/oneid/code', function (Request $request) {
    $validated = $request->validate([
        'code' => 'required|string',
    ]);

    /** @var \Aslnbxrz\OneID\OneIDUser $user */
    $user = Socialite::driver('oneid')->stateless()->user();

    return response()->json([
        'id'       => $user->getId(),
        'name'     => $user->getName(),
        'email'    => $user->getEmail(),
        'pinfl'    => $user->getPinfl(),
        'sess_id'  => $user->getSessionId(),
        'passport' => $user->getPassport(),
        'phone'    => $user->getPhone(),
        'gender'   => $user->getGender(),
    ]);
});
```

OneID Logout
------------

[](#oneid-logout)

In addition to logging out locally (revoking your Laravel session or API token), you may also notify OneID to invalidate the session on their side.

### Usage

[](#usage-1)

```
use GuzzleHttp\Exception\GuzzleException;
use Laravel\Socialite\Facades\Socialite;

// $accessTokenOrSessionId - access_token or sess_id
try {
    Socialite::driver('oneid')->logout($accessTokenOrSessionId);
} catch (GuzzleException $e) {
    // Handle OneID logout request error
}
```

Endpoints
---------

[](#endpoints)

- Authorize / Token / Userinfo: `https://sso.egov.uz/sso/oauth/Authorization.do`

Returned User fields
--------------------

[](#returned-user-fields)

**Standard fields**

- `id` — from `user_id` or `pin` or `sess_id`
- `name` — from `full_name` or concatenation of (`first_name` + `sur_name` + `mid_name`)
- `email` — if provided by OneID
- `avatar` — if provided (usually `null`)

**Custom OneID fields**

- `pinfl` — citizen ID (PINFL)
- `sess_id` — OneID session identifier
- `passport` — passport number (`pport_no`)
- `phone` — mobile phone number (`mob_phone_no` or `phone`)
- `gender` — derived from the first digit of PINFL (`male` if odd, `female` if even)

**Raw payload**

- `raw` — full OneID response as returned by the API (`$user->getRaw()`)

---

License
-------

[](#license)

MIT

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance76

Regular maintenance activity

Popularity15

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90% of commits — single point of failure

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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

193d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a725a0e94ad41b577a5c8741c0c771b7b473ed8300329646774062c200cdb441?d=identicon)[aslnbxrz](/maintainers/aslnbxrz)

---

Top Contributors

[![aslnbxrz](https://avatars.githubusercontent.com/u/60058750?v=4)](https://github.com/aslnbxrz "aslnbxrz (18 commits)")[![bexaslonov123](https://avatars.githubusercontent.com/u/132657291?v=4)](https://github.com/bexaslonov123 "bexaslonov123 (2 commits)")

---

Tags

laravelSSOprovideroauthsocialiteoauth2Узбекистанsocialiteprovidersoneid

### Embed Badge

![Health badge](/badges/aslnbxrz-oneid-socialite/health.svg)

```
[![Health](https://phpackages.com/badges/aslnbxrz-oneid-socialite/health.svg)](https://phpackages.com/packages/aslnbxrz-oneid-socialite)
```

###  Alternatives

[socialiteproviders/microsoft

Microsoft OAuth2 Provider for Laravel Socialite

326.1M13](/packages/socialiteproviders-microsoft)[socialiteproviders/instagram

Instagram OAuth2 Provider for Laravel Socialite

421.9M5](/packages/socialiteproviders-instagram)[kovah/laravel-socialite-oidc

OpenID Connect OAuth2 Provider for Laravel Socialite

2073.7k](/packages/kovah-laravel-socialite-oidc)[socialiteproviders/kakao

Kakao OAuth2 Provider for Laravel Socialite

10484.7k4](/packages/socialiteproviders-kakao)

PHPackages © 2026

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