移动端认证配置(后端侧)
MysticX 移动应用(Expo)使用 Better Auth 的 Expo 集成对此 Next.js 后端进行身份验证。
已完成
@better-auth/expo服务端插件已安装并添加到lib/auth.tsxtrustedOrigins已更新为mysticx://scheme 和开发环境exp://模式- Google OAuth 已可用(使用相同的 client ID)
- 邮箱/密码登录已可用
- 已在
env.ts中为 Apple 和 Facebook 添加可选环境变量(见下方)
待完成
Apple 登录
- 从 Apple Developer Portal 获取凭据(参见
mysticx-app/docs/mobile-auth-setup.md) - 添加到
.env:APPLE_CLIENT_ID=com.mysticx.app.si APPLE_TEAM_ID=XXXXXXXXXX APPLE_KEY_ID=YYYYYYYYYY APPLE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----" - 安装
jose:pnpm add jose - 在
lib/auth.tsx中取消注释 Apple provider 并实现generateAppleClientSecret() - 在
trustedOrigins中取消注释'https://appleid.apple.com'
Facebook 登录
- 从 Facebook Developer Portal 获取凭据(参见
mysticx-app/docs/mobile-auth-setup.md) - 添加到
.env:FACEBOOK_CLIENT_ID=your_app_id FACEBOOK_CLIENT_SECRET=your_app_secret - 在
lib/auth.tsx中取消注释 Facebook provider
Google(移动端特定)
- 现有的
GOOGLE_CLIENT_ID可用于验证来自移动应用的 idToken - 移动应用使用
@react-native-google-signin/google-signin进行原生登录流程 - 原生 SDK 获取 idToken,通过
signIn.social({ provider: 'google', idToken: { token } })发送到后端 - 后端使用 Google 验证令牌并创建会话