Help us learn about your current experience with the documentation. Take the survey.

在 GitLab 中测试 OIDC/OAuth

  • 版本:免费版、专业版、旗舰版
  • 产品:GitLab 自管版

要在 GitLab 中测试 OIDC/OAuth,您必须:

  1. 启用 OIDC/OAuth
  2. 使用您的客户端应用程序测试 OIDC/OAuth
  3. 验证 OIDC/OAuth 认证

前提条件

在 GitLab 上测试 OIDC/OAuth 之前,您必须:

  • 拥有一个可公开访问的实例。
  • 是该实例的管理员。
  • 拥有一个您想用来测试 OIDC/OAuth 的客户端应用程序。

在 GitLab 中启用 OIDC/OAuth

首先,您必须在您的 GitLab 实例上创建 OIDC/OAuth 应用程序。具体操作如下:

  1. 在左侧边栏的底部,选择 管理员
  2. 选择 应用程序
  3. 选择 添加新应用程序
  4. 填写您的客户端应用程序的详细信息,包括名称、重定向 URI 和允许的作用域。
  5. 确保启用了 openid 作用域。
  6. 选择 保存应用程序 以创建新的 OAuth 应用程序。

使用您的客户端应用程序测试 OIDC/OAuth

在 GitLab 中创建 OAuth 应用程序后,您就可以使用它来测试 OIDC/OAuth:

  1. 您可以使用 https://openidconnect.net 作为 OIDC/OAuth 的测试环境。
  2. 退出 GitLab 登录。
  3. 访问您的客户端应用程序,并使用您在上一步中创建的 GitLab OAuth 应用程序来启动 OIDC/OAuth 流程。
  4. 按照提示登录 GitLab,并授权客户端应用程序访问您的 GitLab 账户。
  5. 完成 OIDC/OAuth 流程后,您的客户端应用程序应该会收到一个访问令牌 (access token),可用于向 GitLab 进行认证。

验证 OIDC/OAuth 认证

要验证 GitLab 上的 OIDC/OAuth 认证是否正常工作,您可以执行以下检查:

  1. 检查您在上一步中收到的访问令牌是否有效,并可用于向 GitLab 进行认证。您可以使用该访问令牌向 GitLab 发起测试 API 请求来进行验证。例如:

    curl --header "Authorization: Bearer <access_token>" https://mygitlabinstance.com/api/v4/user

    <access_token> 替换为您在上一步中收到的实际访问令牌。如果 API 请求成功并返回了已认证用户的信息,那么 OIDC/OAuth 认证就正常工作了。

  2. 检查您在 OAuth 应用程序中指定的作用域是否被正确执行。您可以通过发起需要特定作用域的 API 请求,并检查它们是否按预期成功或失败来进行验证。

就是这样!通过这些步骤,您应该能够使用您的客户端应用程序在您的 GitLab 实例上测试 OIDC/OAuth 认证。