Single Sign-On (SSO) Terpusat
Pengguna cukup login satu kali melalui Keycloak untuk mengakses seluruh aplikasi internal ekosistem DUMEG secara mulus.
Layanan Single Sign-On (SSO) terpusat berbasis Keycloak untuk seluruh ekosistem aplikasi Duta Meta Graha. Aman, modern, dan fleksibel dengan standar OpenID Connect & OAuth 2.0.
Pelajari alur interaksi aman antara browser, aplikasi Anda, dan Keycloak IdP secara bertahap.
Aplikasi meng-generate code_verifier acak dan menghitung SHA256 code_challenge. Pengguna di-redirect dengan parameter scope=openid profile email, state, dan nonce untuk keamanan CSRF.
// 1. Generate PKCE & URL Otorisasi
$codeVerifier = Str::random(64);
$codeChallenge = rtrim(strtr(base64_encode(hash('sha256', $codeVerifier, true)), '+/', '-_'), '=');
$state = Str::random(40);
$nonce = Str::random(40);
session([
'dumeg_code_verifier' => $codeVerifier,
'dumeg_oauth_state' => $state,
'dumeg_oauth_nonce' => $nonce,
]);
$authUrl = "https://login.dumeg.com/realms/dumeg-internal/protocol/openid-connect/auth?" . http_build_query([
'client_id' => 'app-dumeg',
'response_type' => 'code',
'scope' => 'openid profile email',
'redirect_uri' => 'https://app.dumeg.com/auth/dumeg/callback',
'state' => $state,
'nonce' => $nonce,
'code_challenge' => $codeChallenge,
'code_challenge_method' => 'S256',
]);GET /realms/dumeg-internal/protocol/openid-connect/auth
?client_id=app-dumeg
&response_type=code
&scope=openid profile email
&redirect_uri=https://app.dumeg.com/auth/dumeg/callback
&state=c4a9f91a27e...
&nonce=87d891bca76...
&code_challenge=E9Melhoa2OwvFrGMTJgu...
&code_challenge_method=S256Empat langkah terstruktur untuk menghubungkan aplikasi web Anda ke layanan Single Sign-On DUMEG Identity.
client_id dan client_secret serta daftarkan Valid Redirect URIs aplikasi Anda. state dan nonce.