softwareseni / sso
SoftwareSeni SSO
Installs: 22
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Forks: 0
pkg:composer/softwareseni/sso
Requires
- guzzlehttp/guzzle: ^6.3
This package is not auto-updated.
Last update: 2020-08-04 13:59:50 UTC
README
- Laravel 5
Getting Started
Install the package by composer.
composer require softwareseni/ssoAdd the package to your application service providers in
`config/app.php`.'providers' => [ .... Softwareseni\Sso\SsoServiceProvider::class, ],Publish the package
php artisan vendor:publish --provider="Softwareseni\SS\SsoServiceProvider"Once you publish, it publishes the sso configuration file at config path.
Add the middleware to your
`app/Http/Kernel.php`.protected $middlewareGroups = [ 'web' => [ .... \Softwareseni\Sso\Middleware\ClientLogin::class, \Softwareseni\Sso\Middleware\CheckToken::class, ], .... ]; protected $routeMiddleware = [ .... 'sso' => \Softwareseni\Sso\Middleware\ClientLogin::class, ];Add this code to your web route.
Route::get('/login')->middleware('sso');Create Oauth Controller
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Softwareseni\Sso\SsoClient; use App\Models\User; class OauthController extends Controller { function __construct(User $user) { $this->user = $user; } public function callback(Request $request) { $sso = new SsoClient(); $data = $sso->user($request->token); if ($data[0]['status'] == true) { $dt = $data[0]['data']; $user = $this->user->where('email', $dt->email)->first(); if ($user) { Auth::login($user); return redirect($request->redirect); } else { return response()->json([ 'status' => false, 'message' => 'User not found.' ], 500); } } else { return response()->json([ 'status' => false, 'message' => 'Token Invalid.' ], 500); } } }Add this code to your web route.
Route::get('/oauth/callback', 'OauthController@callback')->name('callback');