hwacom / client-sso
SSO 客户端包
v2.5.2
2023-06-14 03:17 UTC
This package is auto-updated.
Last update: 2024-09-14 06:02:07 UTC
README
前言
使用我華電SSO必须先安装客户端
安装说明
composer require hwacom/client-sso
服务提供商设置 (Laravel 5.5 会自动加载)
Composer 安装后需要修改 config/app.php
找到 providers 区域并添加
\Hwacom\SSO\SSOServiceProvider::class,
配置文件发布
使用以下指定将创建 sso.php 配置文件,需要在 .env
文件中增加设置.
php artisan vendor:publish
以下设置会自动添加到 config/sso.php
'sso_enable' => env('SSO_ENABLE',false), 'client_secret' => env("SSO_CLIENT_SECRET"), 'callback' => env("SSO_CLIENT_CALLBACK"), 'sso_host' => env("SSO_HOST")
在 .env
中增加设置
SSO_ENABLE = true SSO_HOST = http://test.eip.hwacom.com:8000 SSO_CLIENT_SECRET = ELg5TA5b5JTEJUCdDGoRo0mZIKQe1EuoF8W6ytvP SSO_CLIENT_CALLBACK = http://test.crm.hwacom.com:8080/callback
[LoginController] 增加两个函数
Login
/**
* 登入頁面置換,需自行寫入LoginController中
* Laravel7 Function Name 改為 showLoginForm
*/
public function create()
{
if (config('sso.sso_enable') === true ) {
setcookie("callback", config('sso.callback'), 0, "/", '.hwacom.com');
return redirect(config("sso.sso_host") . "/google/auth");
}
return view('auth.login');
}
Logout
/**
* 登出用需自行寫入LoginController中
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse
*/
public function destroy(Request $request)
{
if (config('sso.sso_enable') === true ) {
setcookie("token", "", time() - 3600, '/', '.hwacom.com');
}
Auth::guard('web')->logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect(config("sso.sso_host"));
}
[Middleware] 添加到 Http/Kernel.php
web Group 中
\Hwacom\ClientSso\Middleware\SSOAuthenticated::class,