OpenIDC 认证

OpenResty Edge 支持 OpenID Connect(OpenIDC、OIDC)协议,能向身份提供商 (IdP) 获取用户信息,从而对用户进行认证。

工作流程

OpenIDC 的工作流程如下:

OpenIDC 工作流程图

配置说明

在 HTTP 应用 > 具体应用 > 页面规则 > 页面规则动作中,找到 启用 OpenIDC 认证

OpenIDC 配置界面

配置参数

参数说明
认证方式目前支持 client_secret_basicclient_secret_postclient_secret_jwt 三种方式
客户 ID客户身份,从身份提供商 (IdP) 获取
客户 secret客户密钥,从身份提供商 (IdP) 获取
发现端点身份提供商 (IdP) 提供的 URL,用于获取服务方支持的 OpenID 协议规格
范围客户权限,必须包含 OpenID,常见取值 openid email profile
重定向 URI认证成功后的跳转地址,支持相对地址和绝对地址,可以不填,默认为原请求 URL,通常需要与身份提供商 (IdP) 中配置的一致
启用 SSL 验证OpenResty Edge™ 与身份提供商 (IdP) 是否采用加密连接
超时时间OpenResty Edge™ 与身份提供商 (IdP) 的连接超时时间,单位是毫秒
登出路径请求 域名 + 登出路径,可以从身份提供商 (IdP) 注销,再次认证时需要重新登录,常见取值 /logout

实际应用示例

以下以 Auth0 为例,演示如何配置和使用 OpenIDC 认证。

步骤 1:在 Auth0 中配置

在 Auth0 控制面板中配置认证信息及 redirect_uri

Auth0 认证信息配置

Auth0 重定向 URI 配置

步骤 2:在 Edge 中配置 OpenIDC 认证

在 Edge 中启用 OpenIDC 认证,并输入从 Auth0 获取到的信息:

Edge OpenIDC 配置

步骤 3:添加重定向规则

在启用 OpenIDC 认证的规则后添加一条 redirect_uri 相关的规则,用于处理认证失败或直接访问 redirect_uri 时的动作:

Edge 规则配置

这两条规则之后,可以添加其他正常的业务规则。在本示例中,最后一条规则是打印 Hello World

步骤 4:测试认证流程

访问 /protected-resource,将会跳转到 Auth0 登录界面:

Auth0 登录界面

登录成功后,系统会重新跳转回到 /protected-resource,并成功访问:

认证成功页面