To include the SSO connector within the project, update your composer.json
file accordingly:
{
"minimum-stability": "dev",
"prefer-stable": true,
"repositories": [
{
"type": "path",
"url": "../Composer/laravel-sso"
}
],
"require": {
// ...
"remp/laravel-sso": "*"
}
}
Include the service providers within your config/app.php
:
'providers' => [
// ...
Remp\LaravelSso\Providers\SsoServiceProvider::class,
// ...
];
Add new middleware to $routeMiddleware
within your App\Http\Kernel
:
protected $routeMiddleware = [
// ...
'auth.jwt' => VerifyJwtToken::class,
// ...
];
Switch your application authentication in config/auth.php
:
'defaults' => [
'guard' => 'jwt',
'passwords' => null,
],
'guards' => [
// ...
'jwt' => [
'driver' => 'jwt',
'provider' => null,
],
// ...
]
Now you can protect your routes in routes/web.php
by using auth.jwt
middleware:
Route::middleware('auth.jwt')->group(function () {
// ...
Route::get('ping', 'SystemController@ping')->name('ping');
Route::resource('foo', 'FooController');
Route::resource('bar', 'BarController');
// ...
});
You can use Auth
facade to verify user presence and access his data.
Auth::user() // returns instance of Remp\LaravelSso\Contracts\Jwt\User
Auth::id() // returns current user ID
Auth::check() // checks if user is logged in
You can configure the connector either via Laravel config or environment variables. Following is the list of all available configuration options:
Config | Environment | Default |
---|---|---|
services.remp_sso.addr |
REMP_SSO_ADDR |
http://sso.remp.press |
services.remp_sso.error_url |
REMP_SSO_ERROR_URL |
route('sso.error') |