Skip to content
Mintlify
Mintlify

使用 Auth0 配置 OAuth 2.0 身份验证

为私有 Mintlify 文档站点将 Auth0 设置为 OAuth 2.0 身份提供方,包括端点 URL、回调注册和基于用户组的访问控制。

Auth0 是一个兼容 OAuth 2.0 和 OIDC 的身份提供方,因此可以直接接入 Mintlify 内置的 OAuth 2.0 支持。本页将 Auth0 的端点和设置映射到身份验证设置中的字段。完整流程请参考对应的官方设置页面,本页仅提供 Auth0 特定的取值。

OAuth 2.0 身份验证在 Enterprise 方案中可用。

安全免责声明:我们提供本指南以帮助你将 Auth0 集成到 Mintlify,但在实施任何身份验证方案之前,请先咨询你的安全团队。对于你的具体实现可能引发的任何安全问题,Mintlify 不承担责任。

  • 一个 Auth0 租户。记下你的租户域名,例如 your-tenant.us.auth0.com
  • 为你的文档站点创建的 Auth0 Regular Web Application。要创建一个,请在 Auth0 控制台中进入 Applications > Applications,点击 Create Application,并选择 Regular Web Applications 作为应用类型。
  • 该应用的 client ID 和 client secret,可在应用设置页面中找到。

在 Mintlify 控制台中,进入身份验证,将站点可见性设置为 Private,然后选择 CustomOAuth。使用以下 Auth0 的取值填写各字段。将 YOUR_AUTH0_DOMAIN 替换为你的租户域名。

Mintlify 字段Auth0 取值
Authorization URLhttps://YOUR_AUTH0_DOMAIN/authorize
Token URLhttps://YOUR_AUTH0_DOMAIN/oauth/token
Client ID来自 Auth0 的应用 client ID
Client Secret来自 Auth0 的应用 client secret
Scopesopenid profile email(如果你的应用需要,可添加更多)
Info API URL(可选)https://YOUR_AUTH0_DOMAIN/userinfo
Logout URL(可选)https://YOUR_AUTH0_DOMAIN/v2/logout?returnTo=<url-encoded-return-url>

保存设置。Mintlify 会使用新的身份验证配置重新部署你的站点。

复制 Mintlify 身份验证设置中显示的 Redirect URL,并在 Auth0 应用的 Application URIs → Allowed Callback URLs 中添加该地址。保存 Auth0 应用。若未完成此步骤,Auth0 将拒绝登录流程。

如果你在 Mintlify 中设置了 Logout URL,请把相同的返回地址添加到 Auth0 应用的 Allowed Logout URLs

若要将页面限制给特定的 Auth0 用户访问,有两种方式。

  • 令牌声明(推荐)。 使用 Auth0 Action 在 ID 令牌或访问令牌中添加 groups 声明,并配置 Mintlify 读取它。参见使用 OAuth 令牌声明中的用户组。如果你从 ID 令牌中获取用户组,请在 scopes 中保留 openid
  • Info API URL。 让 Mintlify 指向 https://YOUR_AUTH0_DOMAIN/userinfo 或你自己的端点,该端点需按用户数据格式返回用户数据。端点必须接受 Authorization: Bearer <access_token>,并在响应中返回用户组。

然后在你想限制访问的每个页面的 frontmatter 中添加匹配的 groups 值,这样只有属于该分组的成员才能看到它。

  • 回调 URL 不匹配。 Auth0 会阻止登录并显示回调错误。请确认 Auth0 Allowed Callback URLs 中的 redirect URL 与 Mintlify 身份验证设置中显示的地址完全一致,包括协议和结尾路径。
  • 用户能登录但看不到受限内容。 你的 groups 声明没有传到 Mintlify。请确认 Auth0 Action 已添加该声明,Mintlify 中的 source 与你写入声明的令牌(id_tokenaccess_token)一致,并且 groupsClaim 与声明名称匹配。
  • 登出后未跳回。 Auth0 要求登出链接中的 returnTo URL 已列入该应用的 Allowed Logout URLs
Was this page helpful?Suggest editsRaise issue