fernandomema/sso-pelican

允许WemX客户端通过单次重定向登录其pelican账户

1.0.1 2024-09-30 11:47 UTC

This package is auto-updated.

Last update: 2024-09-30 11:51:49 UTC


README

Latest Version on Packagist Total Downloads

Laravel SSO

Laravel SSO 是一个用于在Laravel项目中实现单点登录(SSO)认证的包。此包允许您从另一个网站授权 Laravel 控制面板上的用户。

要求

  • PHP 8.0 或更高版本
  • Laravel 9 或 10 或更高版本

安装

要安装此包,请使用 Composer

composer require wemx/sso-pterodactyl

配置

  1. 通过运行以下命令发布配置文件
php artisan vendor:publish --tag=sso-wemx

此命令将发布 config/sso-wemx.php 文件,您可以在此处设置 SSO 认证的密钥。

  1. 生成新的 SSO 密钥
php artisan wemx:generate

请确保将 SSO 密钥粘贴到您的 WemX 应用程序中

用法

  1. 从您的应用程序中使用 GET 请求生成访问令牌
  2. 将用户重定向到带有令牌的 SSO 重定向
public function loginPanel()
{
    $response = Http::get("https://panel.example.com/sso-wemx/", [
        'sso_secret' => "xxxxxxx",
        'user_id' => 1
    ]);

    if (!$response->successful()) {
        $message = $response['success'] && !$response['success']
            ? $response['message']
            : 'Something went wrong, please contact an administrator.';

        return redirect()->back()->withError($message);
    }

    return redirect()->intended($response['redirect']);
}

重定向到 /sso-login 路由后,如果用户的电子邮件地址与数据库中的记录匹配,则用户将在 Laravel 控制面板上自动授权。

支持

如果您有任何问题或问题,请在 GitHub 上的项目仓库中创建新的问题。

许可证

本项目采用 MIT 许可证。有关详细信息,请参阅 LICENSE 文件。