Skip to content

Supabase Github 集成

Supabase 是一个开源的 Firebase 替代品,提供了数据库、认证、即时 API 等功能。GitHub OAuth 集成是一种认证机制,允许用户使用其 GitHub 账户登录到 Supabase。

以下是集成 Supabase 和 GitHub OAuth 的一般步骤:

  1. 创建 GitHub 应用

    • 访问 GitHub 并登录您的账户。
    • 前往 GitHub Developer Settings
    • 点击 “New OAuth App” 创建一个新的应用。
    • 填写应用名称、主页 URL 和授权回调 URL(这通常是您的 Supabase 项目中的认证回调路由)。
    • 完成后,您将获得一个客户端 ID 和客户端密钥,这些在集成 Supabase 时会用到。
  2. 配置 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
  1. 集成到您的应用中
    • 在您的应用中设置对 Supabase 认证服务的调用。
    • 使用 Supabase 提供的 SDK 或 API 来集成 GitHub 认证。
    • 确保处理认证流程,包括用户登录、注册和注销。
  2. 测试集成
    • 在本地或部署的应用中测试 GitHub OAuth 集成。
    • 确保用户可以成功通过 GitHub 账户登录,并且您的应用可以获取到必要的用户信息。
  3. 部署
    • 一旦测试无误,部署您的应用到生产环境。
    • 确保所有的环境变量和配置在生产环境中都已正确设置。 请注意,具体步骤可能会因 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

上次更新于: