bdsu / limesurvey-oauth2
使用 OAuth2 启用 LimeSurvey 的单点登录
Requires
- php: >=5.6
- league/oauth2-client: ^2.6
This package is not auto-updated.
Last update: 2024-09-27 23:35:25 UTC
README
这是一个 LimeSurvey 的身份验证插件,允许使用 OAuth2 协议与任何身份提供者实现单点登录。
它使用了 league/oauth2-client
库,并可以配置支持 OAuth2 协议且具有自动创建新用户功能的任何身份提供者。
安装
- 前往 发布版 并下载最新的 Zip 归档
- LimeSurvey 5.x 版本:在插件管理器中上传 Zip 归档
- LimeSurvey 3.x 版本:解压 Zip 归档并将内容放置在
<limesurvey_root>/plugins/AuthOAuth2/
- 在插件管理器中配置插件
- 在插件管理器中激活插件
要测试最新的开发版本,请将 git clone
此存储库 克隆到 <limesurvey_root>/plugins/AuthOAuth2/
,并在其中运行 composer install
以下载所有依赖项。
配置
在激活插件之前,请从插件管理器打开其配置。
使用您的身份提供者为 LimeSurvey 创建一个新的应用,并将 LimeSurvey 配置中显示的 重定向 URI 粘贴到那里。根据您的身份提供者的文档填写 客户端 ID、客户端密钥、授权 URL、作用域 和 访问令牌 URL。
用户详情 URL 应指向一个 API 端点,该端点使用检索到的访问令牌提供有关当前用户的 JSON 对象的详细信息。这些详细信息应包括唯一的用户名、电子邮件地址和显示名称。以下您可以指定包含这些详细信息的 JSON 对象的键。
使用 标识属性,您可以配置是否应使用 用户名 或 电子邮件 与 LimeSurvey 数据库中的现有用户进行匹配。如果启用 创建新用户,则当无法在数据库中找到时,将自动创建新的 LimeSurvey 用户。您可以配置权限和(从 LimeSurvey 4.x 版本开始)将自动分配给所有创建用户的用户角色。
如果启用 作为默认登录使用,则不会显示 LimeSurvey 登录表单,而是将用户重定向到配置的 OAuth2 身份提供者,并在成功时自动登录。否则,用户必须手动选择 OAuth2 作为身份验证方法。
在 作为默认登录使用 复选框下方显示了一个 URL,可以始终使用该 URL 访问默认登录表单,并使用内部数据库登录,即使在启用自动重定向时也是如此。
您可以在此处找到 Azure Active Directory 的配置示例。
支持的 LimeSurvey 版本
此插件已与以下版本测试过
- 最新稳定版本 v5.2.5
- 最新 LTS 版本 v3.27.28
应该与所有 3.x 或更高版本兼容。从 LimeSurvey 4.x 版本开始支持为新用户配置用户角色。
所需的最低 PHP 版本是 5.6。