在极狐GitLab 身份验证中如何使用 JWT?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有:

使用 JWT 作为身份验证提供者 (BASIC SELF)

要启用 JWT OmniAuth 提供者,您必须向 JWT 注册您的应用程序。JWT 为您提供一个用于使用的密钥。

1.在您的极狐GitLab 服务器上,打开配置文件。

对于 Linux 软件包安装:

swift 复制代码
sudo editor /etc/gitlab/gitlab.rb

对于自编译安装:

bash 复制代码
cd /home/git/gitlab
sudo -u git -H editor config/gitlab.yml

2.配置通用设置以添加 jwt 作为单点登录提供者。这为没有现有极狐GitLab 账户的用户启用即时账户配置。

3.添加提供者配置。

对于 Linux 软件包安装:

bash 复制代码
gitlab_rails['omniauth_providers'] = [
  { name: "jwt",
    label: "Provider name", # optional label for login button, defaults to "Jwt"
    args: {
      secret: "YOUR_APP_SECRET",
      algorithm: "HS256", # Supported algorithms: "RS256", "RS384", "RS512", "ES256", "ES384", "ES512", "HS256", "HS384", "HS512"
      uid_claim: "email",
      required_claims: ["name", "email"],
      info_map: { name: "name", email: "email" },
      auth_url: "https://example.com/",
      valid_within: 3600 # 1 hour
    }
  }
]

对于自编译安装:

bash 复制代码
- { name: 'jwt',
    label: 'Provider name', # optional label for login button, defaults to "Jwt"
    args: {
      secret: 'YOUR_APP_SECRET',
      algorithm: 'HS256', # Supported algorithms: 'RS256', 'RS384', 'RS512', 'ES256', 'ES384', 'ES512', 'HS256', 'HS384', 'HS512'
      uid_claim: 'email',
      required_claims: ['name', 'email'],
      info_map: { name: 'name', email: 'email' },
      auth_url: 'https://example.com/',
      valid_within: 3600 # 1 hour
    }
  }

WARNING:

不正确地配置这些设置可能导致实例不安全。

4.将 YOUR_APP_SECRET 更改为客户端密钥,并将 auth_url 设置为您的重定向 URL。

5.保存配置文件。

6.为了使更改生效,如果您:

  • 使用 Linux 软件包安装了极狐GitLab,请重新配置极狐GitLab。
  • 自编译了您的极狐GitLab 安装,请重启极狐GitLab。

在登录页面,现在应该在常规登录表单下方有一个 JWT 图标。选择该图标以开始身份验证过程。JWT 要求用户登录并授权极狐GitLab 应用程序。如果一切顺利,用户将被重定向到极狐GitLab 并登录。

相关推荐
API开发1 小时前
一个MCP操作所有的数据库
数据库·api·api接口·apisql·mcp·mcpserver·openclaw
遇见火星2 小时前
生产级 DevOps 自动化交付模板(基于 Kubernetes 与 GitOps)
kubernetes·自动化·devops·gitops
ZTrainWilliams17 小时前
swagger-mcp-toolkit 让 AI编辑器 更快“读懂并调用”你的接口
前端·后端·mcp
EichKite17 小时前
链接智能与工具:深度解析 MCP 接入 LLM 的两大主流实现架构
openai·mcp
sanshanjianke21 小时前
claudecode/opencode 数学插件工具的调用
数学建模·mcp·claudecode·vibe
码路飞1 天前
MCP 工具只能返回文字?现在能直接弹出交互式 UI 了,手把手写一个
mcp
林鸿群1 天前
Ubuntu 26.04 本地安装 GitLab CE 完整教程(非 Docker 方式)
linux·ubuntu·gitlab·私有部署·代码托管·ubuntu 26.04·omnibus
Azure DevOps1 天前
Azure DevOps:应用远程MCP服务器,提升工作效率
服务器·microsoft·flask·azure·devops
丁劲犇1 天前
在Trae Solo模式下用Qt HttpServer和Concurrent升级MCP服务器绘制6G互联网覆盖区域
服务器·开发语言·qt·ai·6g·mcp·trae
安逸sgr1 天前
MCP 协议深度解析(八):Prompts 提示模板与 Sampling 采样机制!
人工智能·分布式·学习·语言模型·协议·mcp