微信登录

微信开放平台扫码登录、服务号授权和小程序登录集成指南

微信登录是三种模式中最复杂的,需要分别配置 PC 端、手机端和小程序。项目已在 auth-config.ts 中预集成微信插件,配置好环境变量即可使用。

在微信开放平台注册应用

访问 微信开放平台 注册账号,创建网站应用(PC 端)和/或服务号(手机端)。完整注册流程参考 微信官方文档

配置回调域名

在应用设置中填写回调域名。注意:去掉 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),无需用户手动填写。

常见问题

相关资源