控制台
身份验证

会话和 JWT

刷新轮换、RS256 访问令牌和 JWKS。

项目身份验证会发出短暂的 RS256 访问令牌和不透明的旋转刷新令牌。会话策略按项目配置。

#令牌模型

令牌格式使用
访问令牌RS256 JWT调用用户保护的应用API
刷新令牌Opaque halo_rt_…轮换会话
提供商登录代码一次性不透明代码完成社交登录
OAuth 应用令牌RS256 JWT + 不透明刷新服务范围访问

#刷新轮换

curl -X POST \
  "https://api.agihalo.com/api/v1/auth/token?grant_type=refresh_token" \
  -H "apikey: $HALO_PROJECT_PUBLISHABLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "refresh_token": "halo_rt_..."
  }'

#验证访问令牌

GET/api/v1/auth/.well-known/jwks.json

使用可发布密钥标头获取项目公共 JWK 并短暂缓存它。验证以下所有内容:

  • 算法为 RS256 JWT kid 与 JWK 匹配。
  • 发行者是 halo-project:{projectId}.
  • 受众为 halo-project-auth 项目用户令牌。
  • tokenUseproject_auth_access
  • 到期、项目 ID、主题、会话 ID 和电子邮件均存在。
GET/api/v1/auth/user

解析当前用户的有效承载访问令牌。

#撤销

POST/api/v1/auth/logout

项目所有者还可以从仪表板列出活动会话并撤销单个会话。用户禁止或删除使将来的会话验证不可用。