场景指南
鉴权与 user_token
如何把登录系统和 VisibleBase token 连接起来。
VisibleBase 不替你托管用户系统。它只要求 client 请求携带可校验的 user_token。
已有登录系统
如果你已经有登录系统,可以在登录后用 AdminClient 签发 VisibleBase token:
const user = await admin.tokens.apply({
product_id: "prod_xxx",
user_id: session.user.id,
metadata: {
plan: session.user.plan,
},
ttl: "7d",
});然后把两样东西交给产品侧:
product_iduser_token
没有复杂后端
如果新产品是纯客户端项目,可以把 token 签发收敛到统一 Base 周边,而不是每个产品写一套服务。
token 不应该做什么
- 不要把 provider key 写进 token。
- 不要把不可公开的计费规则写进 token。
- 不要让 client 持有
VISIBLEBASE_ADMIN_SECRET_KEY。
token 只表达“这个用户是谁”和“这次请求有哪些业务 metadata”。