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
,并成功访问: