Cookie
通过公开或签名 Cookie 将访客数据传递到你的文档中
在功能标志中使用自适应内容需要向你的应用程序添加代码。
此方法仅在你的网站托管于以下域名下时有效: 自定义域名.
你可以通过访客浏览器中的 cookie 将访客数据传递给你的文档。以下是不同方法的概览。
已签名 cookie gitbook-visitor-token
API 测试凭据、客户识别
需要签名和自定义域名
✅ 属性只能由后端定义
JWT
公共 cookie gitbook-visitor-public
功能标志、角色
易于设置
❌ 访客可以覆盖这些属性
JSON
公共 cookie
要将数据从公共 cookie 传递给 GitBook,你需要通过设置一个公共 gitbook-visitor-public cookie。
下面是一个简单的 JavaScript 示例:
import Cookies from 'js-cookie';
const cookieData = {
isLoggedIn: true,
isBetaUser: false,
};
Cookies.set('gitbook-visitor-public', JSON.stringify(cookieData), {
secure: true,
domain: '*.acme.org',
})通过公共 cookie 传递的数据必须在你的访客架构中通过一个 未签名的 对象。
已签名 cookie
要更安全地将数据传递给 GitBook,你需要将数据作为 JSON Web Token 从你的应用程序中通过一个名为 gitbook-visitor-token 并绑定到你的域名的 cookie 中发送。
要进行设置,你需要调整应用程序的登录流程,包含以下步骤:
当用户登录你的应用程序时生成一个 JWT
每当用户登录你的产品时,生成一个包含已认证用户信息中选定属性的 JWT。
使用站点的访客签名密钥对 JWT 进行签名
然后,确保使用站点的 访客签名密钥进行签名;启用自适应内容后,你可以在站点的受众设置中找到该密钥。
将 JWT 存储在通配符会话 cookie 中
最后,你需要将包含用户信息的已签名 JWT 存储到一个通配符会话 cookie 中 位于你的产品域名下.
例如,如果你的应用程序托管在 app.acme.org 域名下,则需要在 .acme.org 通配符域名下创建该 cookie。
下面是一个简单的 TypeScript 示例:
最后更新于
这有帮助吗?