- 文档首页
AI 原生 BaaS 平台 Supabase 版
用户指南
Supabase 引擎用户指南
使用 Supabase 控制台
使用 Authentication
设置微信授权登录
使用 Authentication
设置微信授权登录
设置微信授权登录
本文介绍通过 Supabase 控制台和 Admin API 配置为应用配置微信登录的操作流程。
- 已创建使用 Supabase 引擎的 Workspace 且 Workspace 的状态为运行中。关于创建 Workspace 的更多详细信息,请参见创建 Workspace。
- 已获取 SUPABASE_BASE_URL、SERVICE_ROLE_KEY和 SUPABASE_ANON_KEY。关于获取变量的详细信息,请参见获取变量。
- 微信开放平台会校验授权回调域名的归属。如果您需要在授权回调域名根目录下放置校验文件,请参见验证域名归属最佳实践。
- 支持的微信授权登录方式:Supabase 目前支持两种微信授权登录方式,这两种方式调用 signInWithOAuth 接口参数略有差异,开发者需要自行判断浏览器环境,并根据所处环境传入不同的参数值。可参考判断微信授权登录环境。
- PC 网站应用扫码授权登录,即微信开放平台-网站应用授权登录。调用 signInWithOAuth 接口时须在 options 中指定 scopes 为 snsapi_login。
参考微信开放平台文档中“授权回调域名”相关章节,配置您的回调域名。微信开放平台的回调域名必须是开发者名下的域名。 - 将回调域名的 Callback 接口 重定向到 Supabase Callback 接口。
如果授权回调域名需要先完成域名归属校验,请参见验证域名归属最佳实践。 Supabase 的 Callback URL 为 $SUPABASE_BASE_URL/auth/v1/callback,例如 https://br-xxxx.supabase.aidap-global.cn-beijing.volces.com/auth/v1/callback。
- 进入 Supabase 控制台后,您需要配置微信作为 OAuth 2.0 提供商,并填入相应的凭证。
- 进入页面 Authentication > Sign In / Providers > WeChat。勾选 Enable WeChat provider,并填入从微信开放平台或微信公众平台获取的 AppID 和 AppSecret,以及 Callback URL。
注意
由于通过微信登录无法直接获取用户邮箱,所以请务必勾选 Allow users without an email 。
- 进入页面 Authentication > URL Configurations,将您的应用的 URL(登录成功后的跳转目标,精确到 path) 配置到 Redirect URLs 中。
-
-
- 修改配置的示例,其中 body 为上节表格中的 配置项 Key 和 配置项 Value 组成的 JSON Map
示例——通过 Supabase Client SDK 进行微信登录的示例
Supabase 提供了统一的 signInWithOAuth 方法来微信登录,但根据使用浏览器环境的不同,分为两种模式。
此场景适用于用户在微信客户端内部打开您的网页应用,单击登录时,会直接拉起微信授权界面。
- 实现方式:调用 signInWithOAuth 函数,需要将provider 指定为 wechat 。在 options 中无需显式指定 scopes 字段。
此场景适用于在 PC 浏览器中访问的独立网站。在用户选择微信登录后,页面会生成一个二维码,用户使用微信 APP 扫描该二维码后完成授权登录。
- 实现方式:调用 signInWithOAuth 函数时,除了将 provider 指定为 wechat 之外,还需要在 options 中指定 scopes 为 snsapi_login。
最佳实践:自动判断浏览器环境确定微信授权登录参数
为了让您的应用同时支持上述两种“微信授权登录”场景,可以通过检测浏览器的 User Agent 来智能判断当前浏览器环境(参见下述 isWechatEmbeddedBrowser 函数),从而实现一套代码支持多场景登录。
最近更新时间:2026.10.22 20:39:35