OpenID Connect

自主部署版的 OpenResty XRay 支持通过 OpenID Connect (OIDC) 协议集成第三方身份验证和授权服务,实现单点登录 (SSO) 功能。 本文将详细介绍如何配置 OpenID Connect 第三方身份验证。

自主部署版的 OpenResty XRay 支持通过 OpenID Connect (OIDC) 协议集成第三方身份验证和授权服务,实现单点登录 (SSO) 功能。

本文将详细介绍如何配置 OpenID Connect 第三方身份验证。

添加 OIDC 身份提供商

  1. 点击右上角用户名进入 OpenIDC 提供商 页面:

    OpenIDC 提供商页面

  2. 点击 添加 OpenIDC 提供商 按钮,开始配置新的 OIDC 身份提供商。

    添加 OpenIDC 提供商

    • 名称: OIDC 身份提供商的显示名称,将在登录界面生成对应的登录按钮,建议使用简短易读的名称。
    • Discovery URL: OIDC 服务发现端点 URL,用于自动获取身份提供商的配置信息,通常为 https://EXAMPLE.com/.well-known/openid-configuration
    • 重定向 URI: 身份验证成功后的回调地址,用于 OpenResty XRay 接收授权码并完成登录流程。系统会自动填充默认值,可根据实际部署情况调整。
    • 客户端 ID: 在 OIDC 身份提供商处注册的客户端应用标识符。
    • 客户端密钥: 客户端认证密钥,当认证方式选择 Client secret basicClient secret post 时必填。
    • 认证方式: 客户端认证方法,支持 Client secret basicClient secret postPrivate key JWT 三种方式。
    • 授权范围: 请求的权限范围,email 为必需项,因为 OpenResty XRay 使用邮箱地址关联 OIDC 账号与本地用户账号。(如果有资源限制,请允许返回 email 资源)
    • 超时时间: 与 OIDC 身份提供商通信的超时时间,默认 60 秒。
    • SSL 验证: 是否验证 OIDC 身份提供商的 SSL 证书,默认启用,强烈建议保持启用以确保安全性。
    • 使用 PKCE: 启用 PKCE (Proof Key for Code Exchange) 扩展,这是一种增强授权码流安全性的机制,如果身份提供商支持,推荐启用该选项。

绑定用户账号

配置完 OIDC 身份提供商后,如果用户名和 OIDC 的电子邮箱不一致,需要使用管理员账号将 OpenResty XRay 本地用户账号与 OIDC 账号进行关联。

  1. 点击右上角用户名进入 管理用户 页面:

用户管理界面

  1. 绑定 OIDC 账号:

输入 OIDC 邮箱地址,完成账号绑定。该邮箱地址必须与 OIDC 身份提供商返回的邮箱地址一致。

绑定 OpenIDC 账号

使用 OIDC 登录

完成账号绑定后,即可通过 OIDC 身份提供商登录 OpenResty XRay:

OpenIDC 登录

点击对应的身份提供商登录按钮(如 ping),系统将重定向到该身份提供商的登录页面。在身份提供商完成认证后,会自动跳转回 OpenResty XRay 并完成登录。