miniorange / saml-laravel-free
miniOrange SAML 单点登录(SSO)插件充当 SAML 服务提供者,可以配置为在插件和具有 SAML 功能的身份提供者之间建立信任,以安全地验证用户对 Laravel 网站的访问。我们支持所有已知身份提供者 - ADFS、Azure AD、Google Apps、Okta、Sa
Requires
- php: ^5.1 || ^7.1 || ^8.0
- laravel/framework: >=5.2
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
- 在 Laravel 应用程序的主目录中使用 Composer 安装包。
composer require miniorange/saml-laravel-free
注意:如果您使用的是 Laravel 5.4 或以下版本,您需要将以下值添加到 app.php 文件中的 'providers' 数组中,该文件位于 project\config 文件夹中。
'providers' => [ ... provider\ssoServiceProvider::class, ... ]
-
包安装成功后,在浏览器中访问您的 Laravel 应用程序并输入
{laravel-application-domain}/mo_admin
-
该包将为您设置数据库,然后重定向到管理员注册页面,您可以在该页面注册或登录 miniOrange 并设置您的身份提供者。
配置包
-
您可以配置 SP 基础 URL,或者保留此选项不变。同时,在配置您的身份提供者时,您需要提供这些 SP 实体 ID 和 ACS URL 值。
-
使用您的身份提供者详细信息配置插件,可以通过上传您的身份提供者提供的 IDP 元数据文件/XML 或手动输入详细信息。
或者
-
点击“保存”按钮。
测试配置
在应用程序登录页面上添加单点登录按钮(可选)
安装包后,您可以使用以下命令在您的应用程序登录页面上添加一个 单点登录 按钮:
- 安装Laravel UI包。
composer require laravel/ui
- 使用VueJs生成认证路由
php artisan ui vue --auth
- 安装Node模块并运行开发环境
npm install && npm run dev
- 迁移并更新数据库
php artisan migrate
此时,Laravel应用程序的登录页面应该看起来像这样。
功能
免费和高级版本提供的功能列在这里。
功能描述
-
自定义属性映射
它允许您将您的身份提供者(IdP)发送的接收到的自定义属性映射到服务提供者 (Laravel应用程序)。
-
自动在Laravel中创建用户
在完成单点登录时,从IdP创建用户到SP(Laravel应用程序)。
-
支持签名和加密断言和响应
为了验证SAML断言和响应的来源的真实性,从而提高安全性。
-
保护整个网站并自动重定向
每次访问网站时都要求用户通过SSO登录,如果用户会话不存在。
单点登录(SSO)
可以通过 {laravel-application-domain}/sso.php 或登录页面上的单点登录按钮(如果使用上述命令添加)来启动单点登录。