n0izestr3am/sso-client

OAuth 2.0 单点登录 Laravel (客户端)

dev-main 2023-07-10 04:41 UTC

This package is auto-updated.

Last update: 2024-09-10 08:11:55 UTC


README

最低要求

  • Laravel 7+
  • PHP 7.3+

安装

1. 安装包

$ composer require n0izestr3am/sso-client

2. 发布供应商

将配置文件 sso.php 复制到项目客户端的 config/ 文件夹

$ php artisan vendor:publish --provider="n0izestr3am\SSO\Providers\SSOServiceProvider"

将复制的配置文件放置到Laravel的 config 文件夹

//config/sso.php

return [
    'name' => 'OAuth 2.0 Single Sign On Laravel | versi (Client)',
    'version' => '1.0.0',

    /*
    |--------------------------------------------------------------------------
    | Redirect to ???
    |--------------------------------------------------------------------------
    | Redirect lamun login tos berhasil di app klien na
    |
    */
    'redirect_to' => env("SSO_REDIRECT_TO"),

    /*
    |--------------------------------------------------------------------------
    | Konfigurasi auth.php
    |--------------------------------------------------------------------------
    | Pilih guard auth default yang dipakai
    |
    */
    'guard' => 'web',

    /*
    |--------------------------------------------------------------------------
    | Pengaturan untuk Client
    |--------------------------------------------------------------------------

    |
    */
     // SSO credentials //lokasi di folder config/sso.php
    'client_id' => env("SSO_CLIENT_ID"),
    'client_secret' => env("SSO_CLIENT_SECRET"),
    'callback' => env("SSO_CLIENT_CALLBACK"),
    'scopes' => env("SSO_SCOPES"),
    'sso_host' => env("SSO_HOST"),


];

3. 编辑环境

修改客户端应用程序的 .env 文件中的5个选项

SSO_CLIENT_ID=
SSO_CLIENT_SECRET=
SSO_CLIENT_CALLBACK=
SSO_SCOPES=
SSO_HOST=
SSO_REDIRECT_TO=

5. 制作方法

a) 登录 //

<a href="{{ route('sso.login') }}">Login</a>

b) 登出

<a href="{{ route('sso.logout') }}">Logout</a>

如需添加其他客户端应用程序,只需在配置文件中添加由SSO服务器生成的客户端密钥。

客户端 .env 文件中的示例参数

SSO_CLIENT_ID="xxxx"
SSO_CLIENT_SECRET="xxx"
SSO_CLIENT_CALLBACK="https:///callback"
SSO_SCOPES="view-user"
SSO_HOST="https:///server"
SSO_REDIRECT_TO="/home"