Please see the Base Installation Guide, then follow the provider specific instructions below.
'oidc' => [
'base_url' => env('OIDC_BASE_URL'),
'client_id' => env('OIDC_CLIENT_ID'),
'client_secret' => env('OIDC_CLIENT_SECRET'),
'redirect' => env('OIDC_REDIRECT_URI'),
],
The base URL must be set to the URL of your OIDC endpoint excluding the .well-known/openid-configuration
part. For example:
If https://auth.company.com/application/linkace/.well-known/openid-configuration
is your OIDC configuration URL, then https://auth.company.com/application/linkace
must be your base URL.
Configure the package's listener to listen for SocialiteWasCalled
events.
In Laravel 11, the default EventServiceProvider
provider was removed. Instead, add the listener using the listen
method on the Event
facade, in your AppServiceProvider
boot
method.
Event::listen(function (\SocialiteProviders\Manager\SocialiteWasCalled $event) {
$event->extendSocialite('auth0', \SocialiteProviders\Auth0\Provider::class);
});
Add the event to your listen[] array in app/Providers/EventServiceProvider
. See the Base Installation Guide for detailed instructions.
protected $listen = [
\SocialiteProviders\Manager\SocialiteWasCalled::class => [
// ... other providers
\SocialiteProviders\OIDC\OIDCExtendSocialite::class.'@handle',
],
];
You should now be able to use the provider like you would regularly use Socialite (assuming you have the facade installed):
return Socialite::driver('oidc')->redirect();
id
name
email
More fields are available under the user
subkey:
$user = Socialite::driver('oidc')->user();
$locale = $user->user['locale'];
$email_verified = $user->user['email_verified'];
You may extend the default scopes (openid email profile
) by adding a scopes
option to your OIDC service configuration and separate multiple scopes with a space:
'oidc' => [
'base_url' => env('OIDC_BASE_URL'),
'client_id' => env('OIDC_CLIENT_ID'),
'client_secret' => env('OIDC_CLIENT_SECRET'),
'redirect' => env('OIDC_REDIRECT_URI'),
'scopes' => 'groups roles',
// or
'scopes' => env('OIDC_SCOPES'),
],
Based on the work of jp-gauthier