irsadarief/jkd-sso
Composer 安装命令:
composer require irsadarief/jkd-sso
包简介
BPS Single Sign On Client For PHP
README 文档
README
Instalasi
Untuk menginstall, anda dapat menggunakan composer:
composer require irsadarief/jkd-sso
Untuk yang belum menginstall composer, informasi mengenai instalasi dan penggunaan composer dapat diakses disini.
Penggunaan
Untuk menggunakan library ini bisa dengan \JKD\SSO\Client\Provider\Keycloak sebagai provider.
Untuk authServerUrl Anda dapat menuliskan https://sso.bps.go.id .
untuk realm anda dapat menuliskan pegawai-bps
Contoh Kode
$provider = new JKD\SSO\Client\Provider\Keycloak([ 'authServerUrl' => 'https://sso.bps.go.id', 'realm' => 'pegawai-bps', 'clientId' => '{client-id}', 'clientSecret' => '{client-secret}', 'redirectUri' => 'https://example.com/callback-url' ]); if (!isset($_GET['code'])) { // Untuk mendapatkan authorization code $authUrl = $provider->getAuthorizationUrl(); $_SESSION['oauth2state'] = $provider->getState(); header('Location: '.$authUrl); exit; // Mengecek state yang disimpan saat ini untuk memitigasi serangan CSRF } elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) { unset($_SESSION['oauth2state']); exit('Invalid state'); } else { try { $token = $provider->getAccessToken('authorization_code', [ 'code' => $_GET['code'] ]); } catch (Exception $e) { exit('Gagal mendapatkan akses token : '.$e->getMessage()); } // Opsional: Setelah mendapatkan token, anda dapat melihat data profil pengguna try { $user = $provider->getResourceOwner($token); echo "Nama : ".$user->getName(); echo "E-Mail : ". $user->getEmail(); echo "Username : ". $user->getUsername(); echo "NIP : ". $user->getNip(); echo "NIP Baru : ". $user->getNipBaru(); echo "Kode Organisasi : ". $user->getKodeOrganisasi(); echo "Kode Provinsi : ". $user->getKodeProvinsi(); echo "Kode Kabupaten : ". $user->getKodeKabupaten(); echo "Alamat Kantor : ". $user->getAlamatKantor(); echo "Provinsi : ". $user->getProvinsi(); echo "Kabupaten : ". $user->getKabupaten(); echo "Golongan : ". $user->getGolongan(); echo "Jabatan : ". $user->getJabatan(); echo "Eselon : ". $user->getEselon(); } catch (Exception $e) { exit('Gagal Mendapatkan Data Pengguna: '.$e->getMessage()); } // Gunakan token ini untuk berinteraksi dengan API di sisi pengguna echo $token->getToken(); }
Penggunaan API untuk mengakses data pegawai dapat melihat pada api-pegawai.
Mendapatkan link Logout
$url_logout = $provider->getLogoutUrl()
Memperbarui Token
$provider = new JKD\SSO\Client\Provider\Keycloak([ 'authServerUrl' => 'https://sso.bps.go.id', 'realm' => 'pegawai-bps', 'clientId' => '{keycloak-client-id}', 'clientSecret' => '{keycloak-client-secret}', 'redirectUri' => 'https://example.com/callback-url', ]); $token = $provider->getAccessToken('refresh_token', ['refresh_token' => $token->getRefreshToken()]);
统计信息
- 总下载量: 3.25k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-3.0-only
- 更新时间: 2020-04-27