Supabase Github 集成
Supabase 是一个开源的 Firebase 替代品,提供了数据库、认证、即时 API 等功能。GitHub OAuth 集成是一种认证机制,允许用户使用其 GitHub 账户登录到 Supabase。
以下是集成 Supabase 和 GitHub OAuth 的一般步骤:
创建 GitHub 应用:
- 访问 GitHub 并登录您的账户。
- 前往 GitHub Developer Settings。
- 点击 “New OAuth App” 创建一个新的应用。
- 填写应用名称、主页 URL 和授权回调 URL(这通常是您的 Supabase 项目中的认证回调路由)。
- 完成后,您将获得一个客户端 ID 和客户端密钥,这些在集成 Supabase 时会用到。
配置 Supabase:
- 登录到您的 Supabase 项目控制台。
- 导航到认证设置部分。
- 选择 “GitHub” 作为认证提供者。
- 输入您在创建 GitHub 应用时获得的客户端 ID 和客户端密钥。
- 配置回调 URL,确保它与您在 GitHub 应用设置中输入的 URL 匹配。
这一步如果是本地部署环境的话,需要在supabase的config.toml中添加以下配置:
[auth] site_url = "http://localhost:8081" # 这里需要改成你本地端口的地址 additional_redirect_urls = ["http://localhost:8081"] [auth.external.github] enabled = true client_id = "xxx" # DO NOT commit your OAuth provider secret to git. Use environment variable substitution instead: secret = "xxxx" # Overrides the default auth redirectUrl. redirect_uri = "http://localhost:54321/auth/v1/callback" # Overrides the default auth provider URL. Used to support self-hosted gitlab, single-tenant Azure, # or any other third-party OIDC providers. url = "" # If enabled, the nonce check will be skipped. Required for local sign in with Google auth. skip_nonce_check = false
配置完后,重启supabase项目
bash
supabase stop
supabase start
- 集成到您的应用中:
- 在您的应用中设置对 Supabase 认证服务的调用。
- 使用 Supabase 提供的 SDK 或 API 来集成 GitHub 认证。
- 确保处理认证流程,包括用户登录、注册和注销。
- 测试集成:
- 在本地或部署的应用中测试 GitHub OAuth 集成。
- 确保用户可以成功通过 GitHub 账户登录,并且您的应用可以获取到必要的用户信息。
- 部署:
- 一旦测试无误,部署您的应用到生产环境。
- 确保所有的环境变量和配置在生产环境中都已正确设置。 请注意,具体步骤可能会因 Supabase 的更新或 GitHub 政策的变化而有所不同。因此,建议查看最新的 Supabase 文档和 GitHub 开发者指南来获取最准确的信息。同时,确保在集成过程中遵守所有相关的隐私政策和安全最佳实践。
测试环境
报{ "code": 500, "message": "An error has occurred: fetch failed", "requestId": "5505b239-8a74-417b-bd8b-a39c00f852a2" } config.toml
toml
[analytics]
enabled = true