NATSidentity.session.create签发会话

在尝试达标后签发会话;调用方必须携带有效的尝试工单,本调用内部经 attempt_service 消费(consume)该工单。

Request Payload

消息格式:JSON

NameData TypeRequiredDescription
userIdstringYes用户 ID
attemptTicketIdstringYes已达标的尝试工单,消费式校验
ipstringYes来源 IP
userAgentstringNoUser-Agent 摘要
type RequestBody = {
  /** 用户 ID */
  userId: string
  /** 已达标的尝试工单,消费式校验 */
  attemptTicketId: string
  /** 来源 IP */
  ip: string
  /** User-Agent 摘要 */
  userAgent?: string
}
{
  "userId": "01JD8SEGQ0P9N2XK4L7VDH3T6C",
  "attemptTicketId": "atk_9f2c7be14d0a53e8",
  "ip": "203.0.113.24",
  "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)"
}

Response Payload

回复使用统一信封 {id, code, messages, result},其 result:

NameData TypeRequiredDescription
sessionIdstringYes会话 ID
sessionTokenstringYes会话令牌(不透明)
refreshTokenstringYes刷新令牌(一次性)
expiresAtstringYes过期时间
type ResponseBody = {
  /** 会话 ID */
  sessionId: string
  /** 会话令牌(不透明) */
  sessionToken: string
  /** 刷新令牌(一次性) */
  refreshToken: string
  /** 过期时间 */
  expiresAt: string
}
{
  "sessionId": "01JD8SEGVK6MZ7W3Q4RT5N8YB2",
  "sessionToken": "st_7c1f9e05b28d4a63",
  "refreshToken": "rt_46a9c7e015283d5b",
  "expiresAt": "2026-11-13T08:00:00Z"
}

Response Code

回复使用统一信封 {id, code, messages, result},其 code 字段:

code Meaning Notes
0 成功 签发会话
2007 尝试工单无效
2008 环境指纹不匹配
2002 账号被冻结

Examples

{
  "userId": "01JD8SEGQ0P9N2XK4L7VDH3T6C",
  "attemptTicketId": "atk_9f2c7be14d0a53e8",
  "ip": "203.0.113.24",
  "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)"
}
{
  "id": "01JD8SUX1N3C9E6FB",
  "code": 0,
  "messages": [],
  "result": {
    "sessionId": "01JD8SEGVK6MZ7W3Q4RT5N8YB2",
    "sessionToken": "st_7c1f9e05b28d4a63",
    "refreshToken": "rt_46a9c7e015283d5b",
    "expiresAt": "2026-11-13T08:00:00Z"
  }
}

Remarks

工单消费发生在会话落库同一事务内,签发失败可重试。