配置个性化
- 前往控制台的 Add-ons 页面。
- 在 Personalization 部分,选择共享会话、JWT 或 OAuth。
- 配置所选的个性化方式。
- 点击 Save changes。
- 在 Personalization 设置中选择 Shared session。
- 填入一个用于返回当前访客用户数据的 Info API URL。
- 可选:填入 Login URL。当 Info API 未返回用户数据时,Mintlify 会显示一个登录链接。
- 点击 Save changes。
GET 请求。对于已识别的访客,请返回成功的 JSON 响应:
User data response
401。此时 Mintlify 会将该访客保持为未识别状态,并继续提供公开内容。
如果 Info API 与你的文档不在同一来源,请将其配置为允许来自文档确切来源的带凭据跨源请求。请勿在启用凭据的同时使用通配符来源。为防止浏览器和中间缓存存储用户数据,请返回 Cache-Control: private, no-store。
JWT 与 OAuth
- 输入你现有登录流程的 URL。
- 点击 Save changes。
- 点击 Generate new key,并将下载的私钥安全存储起来。
- 在你的登录流程中,创建一个包含已识别访客用户数据的 JWT,并使用生成的私钥以 ES256 算法进行签名。
- 将访客重定向到你文档站点上的某个页面,并将已签名的 JWT 作为 URL 片段。例如
https://docs.example.com/get-started#{SIGNED_JWT}。若使用自定义子路径,请在此 URL 中包含该子路径。
exp 声明设置为一个较短的时长,10 秒或更短。使用用户数据中的 expiresAt 字段来控制 Mintlify 存储个性化数据的时间。
OAuth 个性化的配置步骤:
- 输入你的授权 URL、Client ID、scopes、Token URL、Info API URL 以及任何可选设置,然后点击 Save changes。OAuth 个性化使用带 Proof Key for Code Exchange (PKCE) 的 Authorization Code 流程,无需 client secret。
- 从控制台复制 Redirect URL,并将其添加为 OAuth 提供方的授权重定向 URL。
- 将 Info API 配置为接受带有
Authorization: Bearer <access_token>头的GET请求,并返回用户数据。
/mintlify-oauth-callback。如果使用自定义子路径,控制台会在重定向 URL 中包含该子路径。
Mintlify 会交换授权码,并从访客浏览器向 Info API 发起请求。如果 token 端点或 Info API 端点与你的文档不在同一来源,请将其配置为允许来自文档确切来源的跨源请求。Info API 必须允许 Authorization 请求头。
预填充 API 密钥
apiPlaygroundInputs 字段中。
动态 MDX 内容
user 变量,可根据用户的姓名、套餐或组织等信息动态展示内容。将自定义数据放入用户数据中的 content 字段。
user 变量。
对于处于未登录状态的用户,
user 变量是一个空对象。请在所有 user 字段上使用可选链操作符以避免错误。例如,使用 {user.org?.plan} 而不是 {user.org.plan}。window.mintlify.user 并监听 mintlify:user 事件。
页面可见性
groups,可根据用户组控制页面在导航中的显示。
OpenAPI 内容过滤
x-mint 扩展,根据用户组过滤 API 参考内容。你可以过滤整个端点、单个 schema 属性、oneOf 变体以及枚举值。
过滤端点
x-mint.groups,可以仅在导航中向特定用户组显示该端点。在仅启用个性化(独立于认证)的场景下,不在所列用户组中的用户仍然可以通过直接 URL 打开该端点页面。
筛选 Schema 属性
x-mint.groups。未包含 x-mint.groups 的属性将仍对所有用户可见。
Restricted property
name 属性。只有属于 admin 组的用户可以看到 internal_id 属性。
筛选 oneOf 变体
oneOf 选项添加 x-mint.groups,以限制用户可见的架构变体。
Restricted oneOf variant
筛选枚举值
x-mint-enum 扩展按分组来限制单个枚举值。将每个受限的枚举值作为一个 key,并将其允许访问的分组作为对应的值。未在 x-mint-enum 中列出的枚举值对所有用户可见。
Restricted enum values
free。属于 pro 或 enterprise 分组的用户会看到 pro。只有属于 enterprise 分组的用户会看到 enterprise。
x-mint-enum 是 schema 对象上的一个单独的顶层扩展,而不是嵌套在 x-mint 下。用户数据格式
groups、content 和 apiPlaygroundInputs 字段都是用户数据对象的一部分。
有关完整的用户数据格式和字段说明,请参见用户数据格式。
登出行为
expiresAt 字段。