aslnbxrz / myid-socialite
MyID provider for Laravel Socialite
dev-main
2025-09-30 13:28 UTC
Requires
- php: ^8.0
- socialiteproviders/manager: ^4.4
This package is auto-updated.
Last update: 2025-09-30 13:28:22 UTC
README
MyID provider for SocialiteProviders.
Docs: MyID Web SDK
Requirements
- PHP 8.1+
- Laravel 10/11+
laravel/socialite
socialiteproviders/manager
Installation
composer require aslnbxrz/myid-socialite
Configuration
Add to config/services.php
:
'myid' => [ 'client_id' => env('MYID_CLIENT_ID'), 'client_secret' => env('MYID_CLIENT_SECRET'), 'redirect' => env('MYID_REDIRECT_URI'), // Optional (defaults shown): 'base_url' => env('MYID_BASE_URL', 'https://myid.uz'), 'scope' => env('MYID_SCOPE', 'openid profile email'), ],
Add to your .env
MYID_CLIENT_ID=your-client-id MYID_CLIENT_SECRET=your-client-secret MYID_REDIRECT_URI=https://your-app.com/auth/myid/callback # Optional: # MYID_BASE_URL=https://myid.uz # MYID_SCOPE="openid profile email"
Laravel 11+ Event Listener
use Illuminate\Support\Facades\Event; use SocialiteProviders\Manager\SocialiteWasCalled; use Aslnbxrz\MyID\Provider; Event::listen(function (SocialiteWasCalled $event) { $event->extendSocialite('myid', Provider::class); });
Usage
use Laravel\Socialite\Facades\Socialite; // Redirect to MyID Route::get('/auth/myid/redirect', function () { return Socialite::driver('myid')->scopes(['openid','profile','email'])->redirect(); }); // Callback Route::get('/auth/myid/callback', function () { /** @var \Aslnbxrz\MyID\MyIDUser $user */ $user = Socialite::driver('myid')->user(); $id = $user->getId(); $name = $user->getName(); $email = $user->getEmail(); $phone = $user->getPhone(); });
Endpoints
- Authorize:
https://myid.uz/oauth/authorize
- Token:
https://myid.uz/oauth/token
- Userinfo:
https://myid.uz/oauth/userinfo
License
MIT