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

Build Status Total Downloads Latest Stable Version

前言

使用我華電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,