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

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

配置参数
| 参数 | 说明 |
|---|---|
| 认证方式 | 目前支持 client_secret_basic、client_secret_post、client_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:


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

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

这两条规则之后,可以添加其他正常的业务规则。在本示例中,最后一条规则是打印 Hello World。
步骤 4:测试认证流程
访问 /protected-resource,将会跳转到 Auth0 登录界面:

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