Cookies(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 令牌 从您的应用程序以名为 gitbook-visitor-token 并绑定到您的域名的 cookie 发送。
要设置此项,您需要调整应用程序的登录流程以包含以下步骤:
在用户登录您的应用时生成 JWT
每当用户登录您的产品时,生成一个包含经过身份验证用户选定属性的 JWT。
使用站点的访问者签名密钥对 JWT 进行签名
然后,确保使用站点的 访问者签名密钥对 JWT 进行签名,您可以在启用自适应内容后在站点的受众设置中找到该密钥。
将 JWT 存储在通配符会话 cookie 中
最后,您需要将包含用户信息的已签名 JWT 存储到通配符会话 cookie 中 在您的产品域名下.
例如,如果您的应用托管在 app.acme.org 域名后面,则 cookie 需要在 .acme.org 通配符域名下创建。
下面是一个简单的 TypeScript 示例:
最后更新于
这有帮助吗?