使用GitLab登录

要为项目启用GitLab Auth,您需要设置一个GitLab OAuth应用程序,并将应用程序凭据添加到Supabase Dashboard。

概述

为应用程序设置GitLab登录由三部分组成:

访问您的GitLab帐户#

  • 进入 gitlab.com.
  • 单击右上角的登录以登录。

GitLab开发者门户。

查找回调URL#

下一步需要回调URL,如下所示:

https://<project-ref>.supabase.co/auth/v1/callback

  • 转到MemFire Cloud项目仪表板.
  • 单击左侧边栏底部的设置图标。
  • 单击列表中的API
  • 在Config/URL下,您将找到您的API URL,您可以单击复制将其复制到剪贴板。
  • 现在只需在末尾添加/auth/v1/callback即可获得完整的OAuth重定向URI

创建GitLab应用程序#

  • 单击右上角的个人资料徽标(头像)。
  • 选择编辑配置文件
  • 在左侧边栏中,选择应用程序。
  • 输入应用程序的名称。
  • 重定向URI框中,键入应用程序的回调URL。
  • 选中机密旁边的复选框(确保选中)。
  • 检查名为read_user的作用域(这是唯一需要的作用域)。
  • 单击底部的保存应用程序
  • 复制并保存您稍后需要的应用程序IDclient_ID)和机密client _Secret)。

将您的GitLab凭据添加到Suabase项目中#

  • 转到MemFire Cloud项目仪表板.
  • 在左侧边栏中,单击身份验证图标(靠近顶部)。
  • 单击列表中的设置以转到身份验证设置页面。
  • 站点URL下输入应用程序的最终(托管)URL(这很重要)。
  • 外部OAuth提供程序下,将GitLab Enabled设置为ON。
  • 输入上一步中保存的client_idclient_secret
  • 单击保存

将登录代码添加到客户端应用程序

当您的用户登录时,调用signInWithOAuth(),并将gitlab作为provider

1async function signInWithGitLab() {
2  const { data, error } = await supabase.auth.signInWithOAuth({
3    provider: 'gitlab',
4  })
5}

当用户注销时,调用signOut()将其从浏览器会话和localStorage中删除:

1async function signout() {
2  const { error } = await supabase.auth.signOut()
3}

资源