VisibleBase
场景指南

鉴权与 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_id
  • user_token

没有复杂后端

如果新产品是纯客户端项目,可以把 token 签发收敛到统一 Base 周边,而不是每个产品写一套服务。

token 不应该做什么

  • 不要把 provider key 写进 token。
  • 不要把不可公开的计费规则写进 token。
  • 不要让 client 持有 VISIBLEBASE_ADMIN_SECRET_KEY

token 只表达“这个用户是谁”和“这次请求有哪些业务 metadata”。

目录