ojisatriani/ssoriau

dev-main 2023-02-13 01:38 UTC

This package is auto-updated.

Last update: 2024-04-13 04:23:56 UTC


README

SSO Riau - Laravel

Installation

Require the ojisatriani/ssoriau package in your composer.json and update your dependencies:

composer require ojisatriani/ssoriau

Configuration Laravel

Open the file config/app.php. and then add following service provider (This step is optional if you are using Laravel 5.5+):

'providers' => [
    // ...
    OjiSatriani\SsoRiau\Laravel\ServiceProvider::class,
],

The defaults are set in config/ssoriau.php. Publish the config to copy the file to your own config:

php artisan vendor:publish --provider="OjiSatriani\SsoRiau\Laravel\ServiceProvider" --tag="config"

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

Check SSO session :

/**
* SSO login : check SSO session
*/
use OjiSatriani\SsoRiau\\SsoClientLibrary;
public function check(SsoClientLibrary $sso)
{
    $sso->ssoRequest();
}

Consume SSO session :

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;
    }
}

Logout SSO session :

use OjiSatriani\SsoRiau\\SsoClientLibrary;
public function logout(SsoClientLibrary $sso)
{
    $url_back = {return_url};
    $sso->ssoLogout($url_back);
}