微信登录
微信开放平台扫码登录、服务号授权和小程序登录集成指南
微信登录是三种模式中最复杂的,需要分别配置 PC 端、手机端和小程序。项目已在 auth-config.ts 中预集成微信插件,配置好环境变量即可使用。
配置回调域名
在应用设置中填写回调域名。注意:去掉 http:// 前缀,不含端口号。例如开发环境填 localhost,生产环境填已备案域名。
获取凭证
拿到 AppID 和 AppSecret,填入环境变量。可以按需只配置一种模式:
# PC 端(网站应用)
WECHAT_WEBSITE_APP_ID=wx1234567890abcdef
WECHAT_WEBSITE_APP_SECRET=your-website-app-secret
# 移动端(服务号)
WECHAT_SERVICE_ACCOUNT_APP_ID=wx0987654321fedcba
WECHAT_SERVICE_ACCOUNT_APP_SECRET=your-service-account-secret
# 小程序
WECHAT_MINIPROGRAM_APP_ID=wx1234567890abcdef
WECHAT_MINIPROGRAM_APP_SECRET=your-miniprogram-app-secret实现账号互通(可选)
如果需要 PC、移动端和小程序账号互通(同一用户在不同端登录识别为同一人),在微信开放平台将所有应用绑定到同一个开放平台账号。绑定后,同一用户会返回相同的 unionid,系统会自动关联账户。
内置能力说明
- 微信 OAuth 的 Token 交换端点(
/api/auth/wechat/token)已内置:接收前端传来的code,调用微信接口换取access_token,返回给 Better Auth 完成登录流程。 - 账户关联逻辑已内置:当用户通过不同端的微信登录时,系统会根据
unionId自动关联到已有账户,无需手动处理。 - 新用户注册时会自动生成唯一用户名(基于 nanoid),无需用户手动填写。