ojisatriani / ssoriau
SSO RIAU
v1.0.0
2023-02-13 01:38 UTC
Requires
- php: >=7.2.0
README
SSO Riau - Laravel
安装
在你的 composer.json
中添加 ojisatriani/ssoriau
包并更新你的依赖项
composer require ojisatriani/ssoriau
配置 Laravel
打开文件 config/app.php
,然后添加以下服务提供者(如果你使用的是 Laravel 5.5+,这一步是可选的)
'providers' => [
// ...
OjiSatriani\SsoRiau\Laravel\ServiceProvider::class,
],
默认设置在 config/ssoriau.php
中。发布配置以将文件复制到你的自定义配置中
php artisan vendor:publish --provider="OjiSatriani\SsoRiau\Laravel\ServiceProvider" --tag="config"
配置 Sso Riau
'client_id' => env('SSO_RIAU_CLIENT_ID', ''), // 3rd Party client Id
'client_secret' => env('SSO_RIAU_CLIENT_SECRET', ''), // 3rd Party client secret
'redirect_uri' => env('SSO_RIAU_REDIRECT_URI', ''), // 3rd Party url redirect or url to handle callback
'target_uri' => env('SSO_RIAU_TARGET_URI', ''), // SSO Riau portal
检查 SSO 会话
/**
* SSO login : check SSO session
*/
use OjiSatriani\SsoRiau\\SsoClientLibrary;
public function check(SsoClientLibrary $sso)
{
$sso->ssoRequest();
}
消费 SSO 会话
use OjiSatriani\SsoRiau\\SsoClientLibrary;
public function callback(Request $request, SsoClientLibrary $sso)
{
$data_access_token = $sso->ssoCallback();
if (!empty($data_access_token)) {
$data_access_token = json_decode($data_access_token);
$access_token = $data_access_token->access_token; // store access_token within the session if needed?
}
if ($access_token != '') {
//fetch ssoUserInfo
$ssoUserInfo = $sso->ssoUserInfo($access_token);
$ssoUserInfo = json_decode($ssoUserInfo);
$email = $ssoUserInfo->email;
}
}
注销 SSO 会话
use OjiSatriani\SsoRiau\\SsoClientLibrary;
public function logout(SsoClientLibrary $sso)
{
$url_back = {return_url};
$sso->ssoLogout($url_back);
}