philwilliammee/samlserviceprovider

一个用于 SAML 2.0 服务提供者(SP)认证的 Laravel 包

dev-main 2022-04-18 16:23 UTC

This package is auto-updated.

Last update: 2024-09-18 21:25:29 UTC


README

Latest Version on Packagist Total Downloads

SAML2.0 服务提供者 Laravel 包,使用此包通过 SAML2.0 登录到 IDP。请随时为此包做出贡献。此包的测试量最少,不提供安全保证。自行承担风险。

安装

通过 Composer

composer require philwilliammee/samlserviceprovider

用法

运行迁移

 php artisan migrate

使用以下命令发布配置和视图

php artisan vendor:publish --provider="PhilWilliammee\SamlServiceProvider\SamlServiceProviderServiceProvider"

编辑 config/samlserviceprovider.php 配置文件,以满足您的需求。

此包附带一些 blade 模板,可以帮助您开始使用。您可以在 resources/views/vendor/philwilliammee 中查看它们。

示例用法

    <x-samlserviceprovider::login redirect="/user">
        Login
    </x-samlserviceprovider::login>

    <x-samlserviceprovider::logout>
        Logout
    </x-samlserviceprovider::logout>

然后在用户控制器中调用

    $session_id = session()->getId();
    $user_attributes = SamlServiceProvider::getAttributes($session_id);

您可能想要使用 Laravel 登录用户,如下所示

    $email = $user_attributes['mail'][0];
    $name = $user_attributes['displayName'][0];
    $user = User::where('email', $email)->first();
    if (!$user) {
        $user = User::create([
            'email' => $email,
            'name' => $name,
        ]);
    }
    Auth::login($user);

变更日志

有关最近更改的更多信息,请参阅变更日志

测试

composer test

贡献

请参阅contributing.md 以获取详细信息和一个待办事项列表。

安全

如果您发现任何与安全相关的问题,请通过电子邮件philwilliammee@gmail.com 而不是使用问题跟踪器。

致谢

许可证

MIT。有关更多信息,请参阅许可证文件