OpenID Connect

OpenResty Edge 支持 OpenID Connect 协议,能作为 OpenID 依赖方向 OpenID 提供方获取用户信息,从而对用户进行认证。

它属于应用的 页面规则,我们直接新建一个页面规则来看看如何使用。

动作的下拉列表里面有很多选项,我们拉到其他,从中选择 启用 Openidc 认证

启用 Openidc 认证的参数比较多,各个参数的意义分别如下:

  1. 认证方式: 目前支持 client_secret_basic, client_secret_post, client_secret_jwt 三种方式;
  2. 客户 ID:客户身份,从 OpenID 服务方获取;
  3. 客户 secret:客户密钥,从 OpenID 服务方获取;
  4. 发现端点: OpenID 服务方提供的 url,用于获取服务方支持的 OpenID 协议规格;
  5. 范围: 客户权限,必须包含 OpenID;
  6. 重定向 URI: 认证成功后的跳转地址,支持相对地址和绝对地址,可以不填,默认原请求 URL;
  7. 启用 SSL 验证: OpenResty Edge™ 与 OpenID 服务方是否采用加密连接;
  8. 超时时间: OpenResty Edge™ 与 OpenID 服务方的连接超时时间;
  9. 登出路径: 请求 域名+登出路径,可以从 OpenID 服务方注销,再次认证时需要重新登录;

下面的示例,使用 Keycloak 作为 OpenID 服务方,启用 Openidc 认证后,对应请求都需要先到 Keycloak 进行认证: