OAuth 第三方登录
接入 OAuth 登录
NuxtBase 也同时提供了 Github 和 Google 的第三方 OAuth 登录。
你需要在 supabase 的后台去开启,默认supabase只开启了邮件登录功能。
如果你使用的是MemfireDB,Google的OAuth登录是不可用的,因为众所周知的网络问题。
开启 Github 登录
在「用户认证」-「服务商」中启用 Github,并且填入 Github 提供的 Client ID 和 Client Secret,就可以实现 Github 的登录。
要获取 Github 的 Client ID 和 Secret:
- 登录 Github 账号
- 进入 Settings -> Developer settings -> OAuth Apps
- 点击"New OAuth App"创建应用
- 填写应用信息:
- Application name: 你的应用名称
- Homepage URL: 你的网站地址
- Authorization callback URL: Supabase 提供的回调地址
- 创建完成后即可获得 Client ID 和 Secret
开启 Google 登录
要启用 Google OAuth 登录:
- 访问 Google Cloud Console
- 创建一个新项目或选择已有项目
- 启用 OAuth consent screen
- 在"Credentials"页面创建 OAuth client ID
- 选择"Web application"类型
- 添加授权的重定向 URI(从 Supabase 后台获取)
- 获取 Client ID 和 Client secret
- 将这些凭据填入 Supabase 的 Google Provider 设置中
注意: 如果你使用国内的 supabase 服务商(例如 MemfiredDB) 部署,建议不要启用 Google 登录,因为网络限制可能导致无法正常使用。