daggerhart/openid-connect-generic

OpenID Connect 通用 WordPress 插件。

安装: 65,447

依赖: 1

建议: 0

安全: 0

星级: 258

关注者: 20

分支: 154

类型:wordpress-plugin

3.10.0 2024-04-09 01:58 UTC

README

贡献者: daggerhart, tnolte
捐赠链接: http://www.daggerhart.com/
标签: 安全, 登录, oauth2, openidconnect, 应用程序, 身份验证, 自动登录, 单点登录
至少需要 5.0
已测试到 6.4.3
稳定标签 3.10.0
需要 PHP 7.4
许可证: GPLv2 或更高版本
许可证 URI: https://gnu.ac.cn/licenses/gpl-2.0.html

这是一个简单的客户端,它提供了一个通用的 OAuth2 服务器实现的单点登录(SSO)或选优身份验证。

描述

此插件允许通过授权码流身份验证用户对 OpenID Connect OAuth2 API 进行身份验证。安装后,它可以配置为自动验证用户(SSO),或在登录表单上提供“使用 OpenID Connect 登录”按钮。在获得同意后,现有用户将自动登录到 WordPress,而新用户将在 WordPress 数据库中创建。

大部分文档可以在设置 > OpenID Connect 通用仪表板页面上找到。

请将问题提交到 Github 仓库: https://github.com/daggerhart/openid-connect-generic

安装

  1. 上传到 /wp-content/plugins/ 目录
  2. 激活插件
  3. 访问设置 > OpenID Connect 并配置以满足您的需求

常见问题解答

客户端的重定向 URI 是什么?

大多数 OAuth2 服务器将需要为安全目的对一组重定向 URI 进行白名单处理。此客户端提供重定向 URI 如下: https://example.com/wp-admin/admin-ajax.php?action=openid-connect-authorize

example.com 替换为您的域名和 WordPress 的路径。

我能否更改客户端的重定向 URI?

某些 OAuth2 服务器不允许客户端重定向 URI 包含查询字符串。此模块提供的默认 URI 利用 WordPress 的 admin-ajax.php 端点作为提供不包含 HTML 的路由的简单方法,但这将自然涉及查询字符串。幸运的是,此插件提供了一个设置,将使用不包含查询字符串的替代重定向 URI。

在此插件设置页面(仪表板 > 设置 > OpenID Connect 通用)中有一个用于 替代重定向 URI 的复选框。当勾选时,插件将使用重定向 URI https://example.com/openid-connect-authorize

变更日志

3.10.0

  • 任务:@timnolte - 依赖项更新。
  • 修复:@drzraf - 防止 auth url 过滤器运行两次。
  • 修复:@timnolte - 更新日志清理处理,以正确保留配置的日志条目数量。
  • 修复:@timnolte - 更新日志显示输出,以反映日志保留策略。
  • 任务:@timnolte - 添加单元测试和新本地开发环境。
  • 特性:@timnolte - 更新日志记录以允许跟踪处理时间。
  • 特性:@menno-ll - 通过新过滤器添加“记住我”功能。
  • 改进:@menno-ll - 更新 WP Cookie 过期时间为会话长度。

3.9.1

  • 改进:@timnolte - 重构了Composer配置和GitHub Actions。
  • 改进:@timnolte - 提升了WordPress测试版本兼容性。

3.9.0

  • 特性:@matchaxnb - 增加了对额外配置常量的支持。
  • 特性:@schanzen - 增加了对聚合声明的支持。
  • 修复:@rkcreation - 修复了登录后访问令牌未更新用户元数据的问题。
  • 修复:@danc1248 - 修复了在多站点网络中创建用户的问题。
  • 特性:@RobjS - 增加了插件单例以支持更多开发者定制。
  • 特性:@jkouris - 增加了动作钩子以允许自定义处理会话过期。
  • 修复:@tommcc - 修复了只在插件设置屏幕上加载管理CSS的问题。
  • 特性:@rkcreation - 增加了刷新用户声明的功能。
  • 特性:@Glowsome - 增加了acr_values支持及验证检查,确保当在选项中定义时被尊重。
  • 修复:@timnolte - 修复了由于缺少声明导致的错误回退问题。
  • 修复:@slykar - 修复了在重定向URL中缺失查询字符串处理的问题。
  • 修复:@timnolte - 修复了一些用户链接和用户创建处理的问题。
  • 改进:@timnolte - 修复了插件设置中的拼写错误和屏幕格式。
  • 安全:@timnolte - 更新了构建工具的安全性漏洞。
  • 改进:@timnolte - 更换了构建工具脚本。

3.8.5

  • 修复:@timnolte - 修复了在重定向前使用之前缺少URL请求验证的问题,并确保为重定向回设置正确的当前页面URL。
  • 修复:@timnolte - 修复了处理子目录安装的重定向URL逻辑。
  • 修复:@timnolte - 修复了当使用openid_connect_generic_auth_url短代码时重定向用户的问题。

3.8.4

  • 修复:@timnolte - 修复了重定向处理中对无效State对象访问的问题。
  • 改进:@timnolte - 修复了本地wp-env Docker开发环境。
  • 改进:@timnolte - 修复了Composer脚本的linting和静态分析。

3.8.3

  • 修复:@timnolte - 修复了正确的重定向处理问题。
  • 改进:@timnolte - 将重定向处理更改为使用State而不是cookie。
  • 改进:@timnolte - 重构了额外的代码以符合编码标准。

3.8.2

  • 修复:@timnolte - 修复了WordPress登录屏幕上报告的XSS漏洞。

3.8.1

  • 修复:@timnolte - 阻止在受密码保护的帖子上进行SSO重定向。
  • 修复:@timnolte - CI/CD构建问题。
  • 修复:@timnolte - 对于自动登录设置,修复了注销时的无效重定向处理。

3.8.0

  • 特性:@timnolte - 可以使用6个新的常量来设置客户端配置,而不是存储在数据库中。
  • 改进:@timnolte - 插件开发和贡献更新。
  • 改进:@timnolte - 重构以满足WordPress编码标准。
  • 改进:@timnolte - 重构以提供本地化。

查看之前的变更日志请在这里