OpenID Connect
OpenResty Edge 支持 OpenID Connect 协议,能作为 OpenID 依赖方向 OpenID 提供方获取用户信息,从而对用户进行认证。
它属于应用的 页面规则
,我们直接新建一个页面规则来看看如何使用。
动作
的下拉列表里面有很多选项,我们拉到其他
,从中选择 启用 Openidc 认证
。
启用 Openidc 认证
的参数比较多,各个参数的意义分别如下:
- 认证方式: 目前支持
client_secret_basic
,client_secret_post
,client_secret_jwt
三种方式; - 客户 ID:客户身份,从 OpenID 服务方获取;
- 客户 secret:客户密钥,从 OpenID 服务方获取;
- 发现端点: OpenID 服务方提供的 url,用于获取服务方支持的 OpenID 协议规格;
- 范围: 客户权限,必须包含 OpenID;
- 重定向 URI: 认证成功后的跳转地址,支持相对地址和绝对地址,可以不填,默认原请求 URL;
- 启用 SSL 验证: OpenResty Edge™ 与 OpenID 服务方是否采用加密连接;
- 超时时间: OpenResty Edge™ 与 OpenID 服务方的连接超时时间;
- 登出路径: 请求 域名+登出路径,可以从 OpenID 服务方注销,再次认证时需要重新登录;
下面的示例,使用 Keycloak 作为 OpenID 服务方,启用 Openidc 认证后,对应请求都需要先到 Keycloak 进行认证: