Custom Providers(自定义身份认证提供商)允许您通过标准 OAuth 2.0 或 OIDC 协议,将任意第三方身份认证服务配置为 Supabase Auth 的登录提供商。本文介绍如何在 Supabase 控制台中创建和管理自定义 Auth Provider。
Supabase Auth 内置了微信、企业微信、CAS、钉钉、飞书等常见登录提供商。当您的业务使用其他身份认证服务(如 Authing、Auth0、Firebase Auth 等)时,可通过 Custom Providers 功能接入任意支持 OAuth 2.0 或 OIDC 协议的第三方提供商,无需等待官方适配。
Custom Providers 支持两种协议类型:
- OIDC:OpenID Connect 协议,支持自动发现模式,通过 Issuer URL 自动获取 OAuth 端点配置。
- OAuth2:OAuth 2.0 协议,需手动填写授权端点、Token 端点、用户信息端点等配置。
- 已创建使用 Supabase 引擎的 Workspace,且 Workspace 状态为运行中。关于创建 Workspace 的更多详细信息,请参见创建 Workspace。
- 已在第三方身份认证平台完成应用创建,并能获取以下信息:
- Client ID 和 Client Secret
- Issuer URL(OIDC 自动发现模式)或 OAuth 端点地址(手动配置模式)
- 所需的 Scopes(如 openid、email、profile)
- 已在第三方身份认证平台的应用配置中,将 Supabase 的 Callback URL 添加到回调地址白名单。
在 Supabase 控制台管理自定义 Auth Provider
在 Supabase 控制台的 Sign In / Providers 页面中,Auth Providers 列表下方新增了 Custom Providers 管理区域。该区域包含以下功能:
- 搜索框:按名称或标识符搜索已配置的自定义提供商。
- Provider Type 筛选器:按协议类型筛选,可选值为 OIDC 和 OAuth2。
- Status 筛选器:按启用状态筛选,可选值为 Enabled 和 Disabled。
- + New Provider 按钮:创建新的自定义 Auth Provider。
- 在左侧导航栏中选择 Authentication。
- 进入 Sign In / Providers 页面。
- 在 Custom Providers 区域,单击 + New Provider。
- 在 Sign In / Providers 页面的 Custom Providers 区域,找到目标 Provider。
- 单击目标 Provider 右侧的更多操作菜单(⋮),选择 Update,进入 Update Custom Auth Provider 页面。
- 按需修改 Provider 配置。编辑页字段与新建时相同,但 Provider Identifier 和 Configuration Method 不可修改。
- 单击 Update provider 保存修改。如需放弃修改,单击 Cancel。
- 在 Custom Providers 列表中,找到目标 Provider。
- 单击目标 Provider 右侧的更多操作菜单(⋮),选择 Disable。
- 在确认弹窗中确认信息无误后,单击 Confirm disable。如需取消操作,单击 Cancel。
注意
禁用后,用户将无法通过该 Provider 登录。已有会话不受影响,但在重新启用该 Provider 前,新的登录请求会失败。禁用前,请确认使用该 Provider 登录的用户和依赖该 Provider 的应用已完成相应处理。
- 在 Custom Providers 列表中,找到目标 Provider。
- 单击目标 Provider 右侧的更多操作菜单(⋮),选择 Delete。
- 在确认弹窗中确认信息无误后,单击 Confirm delete。如需取消操作,单击 Cancel。
注意
删除操作不可撤销。如需恢复已删除的自定义 Auth Provider,需要重新创建。删除前,请确认使用该 Provider 登录的用户访问影响,并确认该 Provider 不再被任何应用使用。
通过 Admin API 管理自定义 Auth Provider
POST /auth/v1/admin/custom-providers
OIDC 完整参数示例:
OAuth 2.0 完整参数示例:
GET /auth/v1/admin/custom-providers/{identifier}
GET /auth/v1/admin/custom-providers
type 可取 oidc 或 oauth2,不传则查询全部。
PUT /auth/v1/admin/custom-providers/{identifier}
OIDC 示例:
OAuth 2.0 示例:
DELETE /auth/v1/admin/custom-providers/{identifier}
创建自定义 Auth Provider 时,系统会生成一个 Callback URL(格式如 https://{workspace-domain}/auth/v1/callback)。您需要将此地址配置到第三方身份认证平台的回调 URL 白名单中。