Profile 与 Onboarding
适用场景
登录后,UI 需要拿到账户基础信息、onboarding 状态和下一步跳转决策时,使用这条流程。
前置条件
- 有效 JWT
- 有效
X-Client-Hash - 正确的 portal 入口
调用顺序
- 获取自己的 profile
- 获取 onboarding 状态
- 决定进入 workspace 选择、邀请收件箱或正常首页
分支决策
- onboarding 是否完成
- 是否存在默认 workspace
- 是否需要单独加载 invitation inbox
常见失败
- 把 onboarding 当成完整邀请聚合接口
- 缺少 JWT
- 指纹不匹配
- portal 不匹配
Reference 入口
破坏性变更(Portal API 重构)
Onboarding 端点已移除
GET /profile/onboarding已移除(返回 404)- 前端需在客户端实现路由逻辑:
GET /workspaces/mine— 检查工作空间列表、默认工作空间GET /profile/invitations— 检查待处理邀请
建议的客户端路由逻辑
if (workspaces.hasDefault && default.enterable) → 进入默认工作空间
else if (workspaces.length > 0) → 显示工作空间选择器
else if (invitations.pending.length > 0) → 显示邀请页面
else → 显示创建工作空间页面登录历史迁移
GET /profile/login-history已移除- 使用
GET /security/sessions/history替代
JWT Token 变更
- JWT 不再包含
username、email、portal、category、tenant声明 - JWT 仅包含:
iss、sub、sid、type、iat、exp - 获取用户信息请调用
GET /profile,而非解码 JWT - 优势: 更小的 token、截获时暴露更少信息、个人资料变更立即生效