OpenID Connect
在数字化时代,安全的身份验证成为网络服务中不可或缺的一环。OpenID Connect(简称 OIDC) 是在 OAuth 2.0 协议基础之上构建的一个身份验证层,它使得第三方应用能够通过简化的流程认证用户身份,并安全获取用户信息。本文将详细介绍如何利用 OpenID Connect 通过第三方身份验证和授权服务平台登录 OpenResty Edge Admin 控制台。
添加 OpenIDC 提供商
进入 全局配置 > OpenIDC 提供商 页面:
点击 添加 OpenIDC 提供商 按钮,开始添加新的 OpenIDC 提供商。
- 名称: OpenIDC 提供商的名称,将会在登录界面生成对应的按钮,建议简短易读。
- 启用: 启用或禁用提供商,当前系统中只允许启用一定数量的 OpenIDC 提供商。
- Discovery URL: 发现 OpenIDC 提供商配置的 URL,通常为
https://EXAMPLE.com/.well-known/openid-configuration
。 - 客户 ID: 你的账号在 OpenIDC 提供商处的标识。
- 认证方式: 当前支持
Client secret basic
、Client secret post
、Private key JWT
。 - 客户 secret: 用于在 OpenIDC 提供商处认证的秘钥,当认证方式选择
Client secret basic
或Client 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
。 - 输入 OpenIDC email,即可完成绑定。
使用 OpenIDC 登录
绑定完成后,即可使用 OpenIDC 进行登录:
点击自动生成的按钮 (假设为 OpenResty
) 后,将会跳转到对应的登录界面。在第三方登录界面登录成功后,将会自动跳转回到 OpenResty Edge。
如果在 OpenResty Edge 中登录成功,将自动进入管理界面:
可以看到用户名称已经是我们前面指定的 openidc-tester
。
如果登录失败,将会显示错误信息: