ifaniqbal / myits-oidc-laravel
Laravel wrapper for myits/openid-connect-client
0.1.3
2020-12-02 09:47 UTC
Requires
- php: ^7.2
- illuminate/support: 5.1.* || 5.5.* || ^6
- myits/openid-connect-client: ~1.4.1
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
The purpose of this package is to simplify the implementation of MyITS SSO on the Laravel project. Currently support Laravel 5.1, 5.5 and 6.x.
Installation
composer require ifaniqbal/myits-oidc-laravel
If using Laravel 5.1, include the service provider within config/app.php.
'providers' => [ 'Ifaniqbal\MyitsOidc\MyitsOidcServiceProvider', ];
Add a facade alias to this same file at the bottom:
'aliases' => [ 'MyitsOidc' => 'Ifaniqbal\MyitsOidc\Facades\MyitsOidc', ];
Configuration
These are list of .env keys that can be configured:
MYITS_OIDC_ID= # client ID MYITS_OIDC_SECRET= # client secret MYITS_OIDC_REDIRECT_PATH= # redirect path, default: /myits-sso MYITS_OIDC_AUTH_ENDPOINT= # authorization endpoint, default: https://my.its.ac.id MYITS_OIDC_SCOPE= # scope, default: 'profile role openid' MYITS_OIDC_API_AUTH_ENDPOINT= # API auth endpoint, default: the value of MYITS_OIDC_AUTH_ENDPOINT MYITS_OIDC_API_CLIENT_ID= # API client ID, default: the value of MYITS_OIDC_ID MYITS_OIDC_API_CLIENT_SECRET= # API client secret, default: the value of MYITS_OIDC_SECRET
For example in production if most of the values you need is same as default values, configure only these values within your .env file:
MYITS_OIDC_ID= MYITS_OIDC_SECRET=
And for local development, configure these values within your .env file:
MYITS_OIDC_ID= MYITS_OIDC_SECRET= MYITS_OIDC_REDIRECT_PATH= MYITS_OIDC_AUTH_ENDPOINT= MYITS_OIDC_API_CLIENT_ID= MYITS_OIDC_API_CLIENT_SECRET=
Usage
This is an example which handle request from MYITS_OIDC_REDIRECT_PATH:
<?php namespace App\Http\Controllers; use Ifaniqbal\MyitsOidc\Facades\MyitsOidc; class MyitsSsoController extends Controller { public function index() { $oidc = MyitsOidc::authenticate(); // $oidc->getIdToken(); // $oidc->getAccessToken(); // $oidc->requestUserInfo(); } }