OpenID Connect
自主部署版的 OpenResty XRay 支持通过 OpenID Connect (OIDC) 协议集成第三方身份验证和授权服务,实现单点登录 (SSO) 功能。
本文将详细介绍如何配置 OpenID Connect 第三方身份验证。
添加 OIDC 身份提供商
点击右上角用户名进入 OpenIDC 提供商 页面:
点击 添加 OpenIDC 提供商 按钮,开始配置新的 OIDC 身份提供商。
- 名称: OIDC 身份提供商的显示名称,将在登录界面生成对应的登录按钮,建议使用简短易读的名称。
- Discovery URL: OIDC 服务发现端点 URL,用于自动获取身份提供商的配置信息,通常为
https://EXAMPLE.com/.well-known/openid-configuration
。 - 重定向 URI: 身份验证成功后的回调地址,用于 OpenResty XRay 接收授权码并完成登录流程。系统会自动填充默认值,可根据实际部署情况调整。
- 客户端 ID: 在 OIDC 身份提供商处注册的客户端应用标识符。
- 客户端密钥: 客户端认证密钥,当认证方式选择
Client secret basic
或Client secret post
时必填。 - 认证方式: 客户端认证方法,支持
Client secret basic
、Client secret post
、Private key JWT
三种方式。 - 授权范围: 请求的权限范围,
email
为必需项,因为 OpenResty XRay 使用邮箱地址关联 OIDC 账号与本地用户账号。(如果有资源限制,请允许返回email
资源) - 超时时间: 与 OIDC 身份提供商通信的超时时间,默认 60 秒。
- SSL 验证: 是否验证 OIDC 身份提供商的 SSL 证书,默认启用,强烈建议保持启用以确保安全性。
- 使用 PKCE: 启用 PKCE (Proof Key for Code Exchange) 扩展,这是一种增强授权码流安全性的机制,如果身份提供商支持,推荐启用该选项。
绑定用户账号
配置完 OIDC 身份提供商后,如果用户名和 OIDC 的电子邮箱不一致,需要使用管理员账号将 OpenResty XRay 本地用户账号与 OIDC 账号进行关联。
- 点击右上角用户名进入 管理用户 页面:
- 绑定 OIDC 账号:
输入 OIDC 邮箱地址,完成账号绑定。该邮箱地址必须与 OIDC 身份提供商返回的邮箱地址一致。
使用 OIDC 登录
完成账号绑定后,即可通过 OIDC 身份提供商登录 OpenResty XRay:
点击对应的身份提供商登录按钮(如 ping
),系统将重定向到该身份提供商的登录页面。在身份提供商完成认证后,会自动跳转回 OpenResty XRay 并完成登录。