OpenID Connect

在数字化时代,安全的身份验证成为网络服务中不可或缺的一环。OpenID Connect(简称 OIDC) 是在 OAuth 2.0 协议基础之上构建的一个身份验证层,它使得第三方应用能够通过简化的流程认证用户身份,并安全获取用户信息。本文将详细介绍如何利用 OpenID Connect 通过第三方身份验证和授权服务平台登录 OpenResty Edge Admin 控制台。

添加 OpenIDC 提供商

  1. 进入 全局配置 > OpenIDC 提供商 页面:

    OpenIDC 提供商页面

  2. 点击 添加 OpenIDC 提供商 按钮,开始添加新的 OpenIDC 提供商。

    添加 OpenIDC 提供商

    • 名称: OpenIDC 提供商的名称,将会在登录界面生成对应的按钮,建议简短易读。
    • 启用: 启用或禁用提供商,当前系统中只允许启用一定数量的 OpenIDC 提供商。
    • Discovery URL: 发现 OpenIDC 提供商配置的 URL,通常为 https://EXAMPLE.com/.well-known/openid-configuration
    • 客户 ID: 你的账号在 OpenIDC 提供商处的标识。
    • 认证方式: 当前支持 Client secret basicClient secret postPrivate key JWT
    • 客户 secret: 用于在 OpenIDC 提供商处认证的秘钥,当认证方式选择 Client secret basicClient secret post 时需要填写。
    • 私钥: 用于在 OpenIDC 提供商处认证的秘钥,当认证方式选择 Private key JWT 时需要填写。
    • Private Key ID: 私钥的 ID,只有当认证方式选择 Private key JWT 时才需要填写。
    • 重定向 URI: 在 OpenIDC 提供商处登录成功后跳转的 URI,以便 OpenResty Edge 继续处理后续登录流程。默认会自动填充该值,可根据实际情况进行修改。
    • 范围: 指定需要 OpenIDC 提供商返回的信息,其中 email 是必须的,因为当前 OpenResty Edge 中使用 email 来绑定 OpenIDC 提供商和 OpenResty Edge 中的账号。
    • 超时: OpenResty Edge 与 OpenIDC 提供商交互请求的超时时间,默认 60 秒。
    • SSL 验证: 决定是否验证 OpenIDC 提供商的证书,默认启用,建议启用。
    • 使用 PKCE: PKCE(Proof Key for Code Exchange) 是一种用于改善授权码授权模式安全性的技术,启用该选项将使用 PKCE。

绑定 OpenResty Edge 账号与 OpenIDC 提供商账号

添加完 OpenIDC 提供商后,将 OpenResty Edge 账号与 OpenIDC 提供商账号进行绑定:

绑定 OpenIDC 账号

  1. 选择 登录类型OpenIDC
  2. 输入 OpenIDC email,即可完成绑定。

使用 OpenIDC 登录

绑定完成后,即可使用 OpenIDC 进行登录:

OpenIDC 登录

点击自动生成的按钮 (假设为 OpenResty) 后,将会跳转到对应的登录界面。在第三方登录界面登录成功后,将会自动跳转回到 OpenResty Edge。

如果在 OpenResty Edge 中登录成功,将自动进入管理界面:

登录成功

可以看到用户名称已经是我们前面指定的 openidc-tester

如果登录失败,将会显示错误信息:

登录失败