You need to enable JavaScript to run this app.
文档中心
AI 原生 BaaS 平台 Supabase 版

AI 原生 BaaS 平台 Supabase 版

复制全文
下载 pdf
使用 Authentication
设置钉钉授权登录
复制全文
下载 pdf
设置钉钉授权登录
本文介绍通过 Supabase 控制台和 Admin API 配置为应用配置钉钉登录的操作流程。​
前提条件​
  • 已创建使用 Supabase 引擎的 Workspace 且 Workspace 的状态为运行中。关于创建 Workspace 的更多详细信息,请参见创建 Workspace。​
  • 已通过目标 Workspace 成功登录 Supabase 控制台。关于登录控制台的详细信息,请参见登录 Supabase 控制台。​
  • 已获取 SUPABASE_BASE_URL、SERVICE_ROLE_KEY和 SUPABASE_ANON_KEY。关于获取变量的详细信息,请参见获取变量。​
注意事项​
当前仅支持网页(浏览器)方式的 OAuth 登录 ,包括 PC 端扫码登录和移动端浏览器账密/跳转授权。暂不支持 钉钉客户端内 H5 微应用免登。​
​
场景​
是否支持​
说明​
PC 浏览器扫码登录​
支持​
标准 OAuth2 跳转到钉钉登录页​
手机浏览器 OAuth 登录​
支持​
同一个授权地址,手机端会展示账密或拉起钉钉 App 授权​
钉钉内 H5 微应用免登​
不支持​
需要用 JSAPI 获取 corpAccessToken + 免登码,走的是另一套接口​
钉钉移动端 SDK 登录(iOS/Android)​
不支持​
需要原生 SDK 拉起钉钉授权​
​
在 Supabase 控制台查询和修改配置​
  1. 登录钉钉开发者后台,在目标应用详情页,单击开发配置 > 安全设置,填写重定向URL(回调域名)。​
  • ​​​
说明​
Supabase 的 Callback URL 为 $SUPABASE_BASE_URL/auth/v1/callback,例如 https://br-xxxx.supabase.aidap-global.cn-beijing.volces.com/auth/v1/callback。​
  1. 查询和修改配置​
  1. 在 Supabase 控制台查询和修改配置​
  1. 配置 钉钉 相关参数​
  1. 在钉钉开发者平台中,找到您的应用 > 凭证与基础信息,获取您的 Client ID 与 Client Secret。​
  • ​​​
  1. 进入 Supabase 控制台后,您需要配置钉钉作为 OAuth 2.0 提供商,并填入相应的凭证,进入页面 Authentication > Sign In / Providers > DingTalk。​
  • ​​​
  1. 勾选 Enable DingTalk provider,并填入从钉钉开放平台获取的 AppID 和 AppSecret,以及 Callback URL。​
  • ​​​
注意​
如果您的钉钉用户没有配置邮箱,请务必勾选 Allow users without an email。​
  1. 配置重定向白名单​
  • 进入页面 Authentication > URL Configurations,将您的应用的 URL (登录成功后的跳转目标,精确到 path) 配置到 Redirect URLs 中。​
  • ​​​
  • ​​​
登录后账号​
​​​
主要配置项说明​
​
Dashobard 配置项名称​
配置项 Key​
配置项 Value 类型​
是否必填​
配置项说明​
Enable DingTalk provider​
EXTERNAL_DINGTALK_ENABLED​
bool​
是​
是否开启钉钉注册登录。取值:​
  • true:开启(开关打开)​
  • false:关闭(开关关闭)​
DingTalk App Key​
EXTERNAL_DINGTALK_CLIENT_ID​
string​
是​
钉钉应用的 App Key。​
DingTalk App Secret​
EXTERNAL_DINGTALK_SECRET​
​
string​
是​
钉钉应用的 App Secret。​
Allow users without an email​
EXTERNAL_DINGTALK_EMAIL_OPTIONAL​
​
bool​
否​
是否允许用户邮箱为空。取值:​
  • true:允许用户邮箱为空(开关打开),默认值​
  • false:不允许用户邮箱为空(开关关闭)​
说明​
对于钉钉场景,可能无法获得用户邮箱,因此建议设置为 true。​
Callback URL (for OAuth)​
EXTERNAL_DINGTALK_REDIRECT_URI​
string​
是​
OAuth 回调地址。可以是以下两类地址:​
  1. Supabase 默认回调地址:$SUPABASE_BASE_URL/auth/v1/callback。​
  1. 开发者域名下的服务回调地址。更多详细信息,请参见微信开放平台的限制和回调路由。​
Redirect URLs​
URI_ALLOW_LIST​
string​
​
允许重定向的目标 URL 列表。​
  • 需要与跳转目标 URL 完全一致,精确到 path。​
  • 多个时以逗号分隔,形如:http://www.app1.com/home,https://www.app2.com。​
​
通过 Admin API 查询和修改配置​
上述参数可以通过 Auth 模块的 Admin API /auth/v1/config 进行查询和修改配置。​
  • 查询配置的示例​
​
curl -X GET $SUPABASE_BASE_URL/auth/v1/config \​
-H "apikey: ${SERVICE_ROLE_KEY}" \​
-H "Authorization: Bearer ${SERVICE_ROLE_KEY}" \​
-H "Content-Type: application/json"​
​
  • 修改配置的示例,其中 body 为上节表格中的 配置项 Key 和 配置项 Value 组成的 JSON Map​
​
curl -X PATCH $SUPABASE_BASE_URL/auth/v1/config \​
-H "apikey: ${SERVICE_ROLE_KEY}" \​
-H "Authorization: Bearer ${SERVICE_ROLE_KEY}" \​
-H "Content-Type: application/json" \​
-d '{​
"EXTERNAL_DINGTALK_ENABLED": true,​
"EXTERNAL_DINGTALK_CLIENT_ID": "dingxxxxxxxxxxxxxxxx",​
"EXTERNAL_DINGTALK_SECRET": "xxxxxxxxxxxxxxxx",​
"EXTERNAL_DINGTALK_REDIRECT_URI": "https://your-domain.example.com/auth/v1/callback",​
"EXTERNAL_DINGTALK_EMAIL_OPTIONAL": true,​
"URI_ALLOW_LIST": "http://www.app1.com/home,https://www.app2.com",​
...​
}'​
​
示例​
此场景适用于在 PC 浏览器中访问的独立网站。在用户选择钉钉登录后,页面会生成一个二维码,用户使用钉钉 APP 扫描该二维码后完成授权登录。​
适用平台:PC 浏览器。​
​
// 在PC网站上发起扫码登录​
async function loginWithDingTalkWeb() {​
try {​
const { data, error } = await supabase.auth.signInWithOAuth({​
provider: 'dingtalk'​
});​
​
if (error) throw error;​
​
} catch (error) {​
console.error('钉钉网站应用扫码登录失败:', error);​
}​
}​
​
​
最近更新时间:2026.08.07 14:28:37
这个页面对您有帮助吗?
有用
有用
无用
无用