miniorange/saml-laravel-free

miniOrange SAML 单点登录(SSO)插件充当 SAML 服务提供者,可以配置为在插件和具有 SAML 功能的身份提供者之间建立信任,以安全地验证用户对 Laravel 网站的访问。我们支持所有已知身份提供者 - ADFS、Azure AD、Google Apps、Okta、Sa

2.3.4 2023-11-30 05:52 UTC

This package is auto-updated.

Last update: 2024-08-30 01:43:45 UTC


README

单点登录(SSO) 是一种授权和认证过程,使用户可以使用一组凭据连接到多个企业应用程序。简单来说,SSO 将多个应用程序登录页面合并为只有一个,允许您只需提交一次凭据即可访问所有应用程序,而无需单独登录每个应用程序。最终用户通过定期无需在多种本地、Web 和云应用程序之间登录和注销来节省时间和精力。

SSO 或单点登录是身份和访问管理或访问权限服务的关键组件。在企业内部完美实施的 SSO 解决方案简化了整体密码管理,提高了生产力和安全性,降低了弱密码、丢失或忘记密码的可能性。

Laravel SAML SSO

Laravel 的 SAML 单点登录(SSO)包。该包充当 SAML 服务提供者(SP)。Laravel 的 SAML 单点登录(SSO)允许用户使用您的 SAML 2.0 兼容身份提供者登录 Laravel 网络应用程序。我们支持所有已知身份提供者 - Google Apps、ADFS、Okta、miniOrange、OneLogin、Azure AD、Salesforce、Shibboleth、SimpleSAMLphp、OpenAM、Centrify、Ping、RSA、IBM、Oracle、Bitium、WSO2、NetIQ 等。SAML Laravel 应用程序充当 SAML 2.0 服务提供者(SP),并使用您的 SAML 2.0 身份提供者安全地验证用户。

要求

  • Laravel - 5.0+
  • PHP - ^5.1 || ^7.1 || ^8.0

安装 - Composer

  1. 在 Laravel 应用程序的主目录中使用 Composer 安装包。
composer require miniorange/saml-laravel-free

注意:如果您使用的是 Laravel 5.4 或以下版本,您需要将以下值添加到 app.php 文件中的 'providers' 数组中,该文件位于 project\config 文件夹中。

'providers' => [
   ...
   provider\ssoServiceProvider::class,
   ...
]
  1. 包安装成功后,在浏览器中访问您的 Laravel 应用程序并输入

    {laravel-application-domain}/mo_admin

  2. 该包将为您设置数据库,然后重定向到管理员注册页面,您可以在该页面注册或登录 miniOrange 并设置您的身份提供者。

    This is plugin login page

配置包

  1. 您可以配置 SP 基础 URL,或者保留此选项不变。同时,在配置您的身份提供者时,您需要提供这些 SP 实体 ID 和 ACS URL 值。 这是插件登录页面

  2. 使用您的身份提供者详细信息配置插件,可以通过上传您的身份提供者提供的 IDP 元数据文件/XML 或手动输入详细信息。

    This is plugin setting page

    或者

    This is plugin setting page

  3. 点击“保存”按钮。

测试配置

  1. 您可以通过点击“测试配置”按钮来测试包是否配置正确。您应该会看到一个如下面所示的“测试成功”页面,以及用户的属性值。这是插件设置页面

    This is plugin test configuration page

在应用程序登录页面上添加单点登录按钮(可选)

安装包后,您可以使用以下命令在您的应用程序登录页面上添加一个 单点登录 按钮:

  1. 安装Laravel UI包。
composer require laravel/ui
  1. 使用VueJs生成认证路由
php artisan ui vue --auth
  1. 安装Node模块并运行开发环境
npm install && npm run dev
  1. 迁移并更新数据库
php artisan migrate 

此时,Laravel应用程序的登录页面应该看起来像这样。

This is laravel login page

功能

免费和高级版本提供的功能列在这里。

功能描述

  • 自定义属性映射

    它允许您将您的身份提供者(IdP)发送的接收到的自定义属性映射到服务提供者 (Laravel应用程序)

  • 自动在Laravel中创建用户

    在完成单点登录时,从IdP创建用户到SP(Laravel应用程序)。

  • 支持签名和加密断言和响应

    为了验证SAML断言和响应的来源的真实性,从而提高安全性。

  • 保护整个网站并自动重定向

    每次访问网站时都要求用户通过SSO登录,如果用户会话不存在。

单点登录(SSO)

可以通过 {laravel-application-domain}/sso.php 或登录页面上的单点登录按钮(如果使用上述命令添加)来启动单点登录。