softwareseni / sso
此包的最新版本(dev-master)没有可用的许可信息。
SoftwareSeni SSO
dev-master
2018-12-11 01:57 UTC
Requires
- guzzlehttp/guzzle: ^6.3
This package is not auto-updated.
Last update: 2020-08-04 13:59:50 UTC
README
- Laravel 5
入门指南
通过 composer 安装包。
composer require softwareseni/sso
将包添加到您的应用程序服务提供者中,在
`
config/app.php`
文件中。'providers' => [ .... Softwareseni\Sso\SsoServiceProvider::class, ],
发布包
php artisan vendor:publish --provider="Softwareseni\SS\SsoServiceProvider"
发布后,它将在配置路径下发布 sso 配置文件。
将中间件添加到您的
`
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, ];
将以下代码添加到您的网络路由中。
Route::get('/login')->middleware('sso');
创建 OAuth 控制器
<?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); } } }
将以下代码添加到您的网络路由中。
Route::get('/oauth/callback', 'OauthController@callback')->name('callback');