PHP / Laravel (Socialite)
BeID werkt met elke OAuth2/OIDC-client voor PHP. Hieronder met Laravel Socialite en de generieke provider socialiteproviders/generic-oauth.
1. Installeren
Terminal
composer require laravel/socialite socialiteproviders/generic-oauth2. Configuratie
config/services.php
'beid' => [
'client_id' => env('BEID_CLIENT_ID'),
'client_secret' => env('BEID_CLIENT_SECRET'),
'redirect' => 'https://jouw-app.nl/auth/beid/callback',
'host' => 'https://id.becyber.nl',
'authorize_url' => 'https://id.becyber.nl/oauth/authorize',
'token_url' => 'https://id.becyber.nl/oauth/token',
'userinfo_url' => 'https://id.becyber.nl/oauth/userinfo',
],3. Routes
routes/web.php
use Laravel\Socialite\Facades\Socialite;
Route::get('/auth/beid', fn () =>
Socialite::driver('beid')->scopes(['openid', 'profile', 'email', 'kyc'])->redirect()
);
Route::get('/auth/beid/callback', function () {
$beidUser = Socialite::driver('beid')->user();
// $beidUser->getId(), ->getEmail(), ->getName()
// Groepen/KYC uit de raw claims:
$groups = $beidUser->user['groups'] ?? [];
$kyc = $beidUser->user['kyc_status'] ?? 'not_started';
// ... log de gebruiker in / maak aan ...
return redirect('/');
});Tip
Socialite gebruikt de Authorization Code-flow. Zet PKCE aan waar de provider dat ondersteunt, en valideer altijd het ID-token. Voor strikte OIDC-naleving kun je ookjumbojett/openid-connect-php gebruiken.