healy / openid-connect-wordpress-plugin
使用任何符合OpenId-Connect标准的身份服务提供商登录您的WordPress网站
Requires
- php: ^7.4 || ^8
- composer/installers: ~1.0
- firebase/php-jwt: ^6.3
- lstrojny/functional-php: ^1.17
Requires (Dev)
- mockery/mockery: ^1.5
- nunomaduro/phpinsights: ^2.1
- phpunit/phpunit: ^9
- psy/psysh: @stable
- squizlabs/php_codesniffer: ^3.6
README
使用身份服务提供商的OpenId Connect协议,在WordPress网站上登录和/或注册新用户。
在healy数字生态系统中,Healy World提供了一个集中的身份提供者,用于网站、服务和移动应用的集成。任何账户的认证都可以在那里提供,而无需向未经授权的服务或应用程序泄露密码或账户机密,也不需要用户本人的授权或Healy组织的授权。
标准
所需功能(跨站和应用程序安全认证和配置文件共享)依赖于多个系统在不同权限下的正常运行。这立即表明,这必须建立在精确定义的开放标准之上,这些标准对任何参与方都是可访问的。在身份管理方面,我们建立的标准是OAuth2和OpenID Connect。请注意,我们使用的是OpenID Connect而不是OpenID。OpenID是过时的,不再由OpenID基金会支持。
OpenID Connect与Healy Sync
OpenID Connect (OIDC)在OAuth 2.0协议之上提供了一个简单的身份层,通过一次往返实现单点登录(SSO)和API访问。OIDC与Healy-Sync应用程序服务器集成并提供。
OpenId Connect Healy-Login WordPress客户端
插件设置
要使用并连接到任何OpenId Connect身份提供者,您需要在插件设置中定义一组参数。

用户认证成功后,您的应用程序作为Healy World OpenID Connect的客户端将收到一个JWT id_token,其中包含认证用户的声明。
作用域与客户端
Healy-Login和此WordPress插件实现了以下作用域
- openid
- profile
- business
这是根据作用域的可用声明
- openid
- username
- 配置文件声明
- healy_id
- 业务声明
- family_name
- given_name
- sponsor
- business_status(成员、客户等)
- country
- address
指标
当插件处于活动状态时,它将收集一些使用数字。这些数字作为元插件数据持久保存在WordPress数据库中,并在插件管理设置页面上显示,如下所示

这些指标计数器和它们的含义如下
total-logons-requests(246):所有(通过REST API)传入OpenId-Connect登录请求的数量。
identified-request(161):每个请求都包含参数,JWT ID Token需要解码。当所有必要参数都存在且ID令牌可以正确解码,并且找到请求的用户名时,它将被计为identified。
unique-users(92):对于每次成功的登录,都会标记用户是否以前使用过OpenId Connect登录。在此计数器中,每个曾经使用此登录的用户都会被计算为1。
successful-logins(161):如前所述,总成功登录次数。用户的登录次数越多,计数就越多。
完成的登录请求(161): 待办:completed与succeesful之间的区别是什么?
失败的请求(72): 这可能代表多种不同的情况。计数器本身仅报告用户因为请求中有错误而被重定向到错误页面的次数。这包括:由声明阻止、令牌验证、自动注册设置或CSRF状态检查。
自动注册的用户(14): 当设置允许时,尚未在接收站点上知悉的验证过的用户登录将触发在这个站点上注册一个新的WordPress用户账户。
错误的请求(13): 这是指所有未处理的错误总数。这个数字包括在失败的请求中。