跳到主要内容
版本:26.4.1

SAML

将 Gitea 配置为 SAML 2.0 服务提供方(Service Provider)

  • 进入 Site Administration > Identity & Access > Authentication Sources
  • 点击 Add Authentication Source 按钮。
  • 选择 SAML 作为认证类型。

SAML 认证界面

设置项

  • Authentication Name(必填)

    • 此认证源的名称(会出现在 Gitea 的 ACS 和元数据 URL 中)
  • SAML NameID Format(必填)

    • 指定身份提供方(Identity Provider,IdP)用户如何映射到 Gitea 用户。此选项与具体的 IdP 相关。
  • SAML Binding(必填)

    • 您想使用的 SAML 绑定类型。目前仅支持 HTTP-Redirect 和 HTTP-Post。
  • Icon URL(可选)

    • 在此认证源的登录页面上显示的图标 URL。
  • Identity Provider Metadata URL(若已设置 XML 则可选)

    • IdP 元数据端点的 URL。
    • 如果 Identity Provider Metadata XML 留空,则必须设置此字段。
  • Identity Provider Metadata XML(若已设置 URL 则可选)

    • IdP 元数据端点返回的 XML。
    • 如果 Identity Provider Metadata URL 留空,则必须设置此字段。
  • [Insecure] Skip Assertion Signature Validation(可选)

    • 不建议使用此选项,它会禁用对 IdP SAML 断言(assertion)完整性的验证。
  • Service Provider Certificate(可选)

    • X.509 格式的证书(配合 Service Provider Private Key),用于对 SAML 请求签名。
    • 若此字段留空,将自动生成证书。
  • Service Provider Private Key(可选)

    • DSA/RSA 私钥(配合 Service Provider Certificate),用于对 SAML 请求签名。
    • 若此字段留空,将自动生成私钥。
  • Email Assertion Key(可选)

    • 用于获取 IdP 用户邮箱的 SAML 断言键(取决于 IdP 配置)。
  • Name Assertion Key(可选)

    • 用于获取 IdP 用户昵称的 SAML 断言键(取决于 IdP 配置)。
  • Username Assertion Key(可选)

    • 用于获取 IdP 用户用户名的 SAML 断言键(取决于 IdP 配置)。
  • Group Assertion Key(可选)

    • 用于获取 IdP 用户组名的 SAML 断言键(取决于 IdP 配置)。
  • Group assertion value for administrator users(可选 —— 需要上面的 group assertion key)

    • 如果非空,具有相同分组断言值的用户将成为管理员用户。
  • Group assertion value for restricted users(可选 —— 需要上面的 group assertion key)

    • 如果非空,具有相同分组断言值的用户将成为受限用户。
  • Map assertion groups to Organization teams(可选 —— 需要上面的 group assertion key)

    • 一个 JSON 映射,格式应类似:
    {
    "GroupAssertionValue": {
    "GiteaOrgName": ["GiteaOrgTeamName1", "GiteaOrgTeamName2"]
    }
    }
  • Enable Auto Registration(可选)

    • 若勾选,首次登录后将自动在 Gitea 中创建对应的用户。 用户的用户名和邮箱来自断言(assertion)。

配置 SAML 2.0 身份提供方(Identity Provider)以使用 Gitea

  • 服务提供方的断言消费服务(Assertion Consumer Service)URL 格式类似:http(s)://[mydomain]/user/saml/[Authentication Name]/acs
  • 服务提供方的元数据 URL 格式类似:http(s)://[mydomain]/user/saml/[Authentication Name]/metadata