A AuthMS API Wiki API Reference iam.tianv.com →

POST /sessions

为用户创建新的会话,记录设备信息、IP地址、User-Agent等上下文, 返回访问令牌(Access Token)和刷新令牌(Refresh Token)。 参考:RFC 7519 (JWT)、NIST SP 800-63B §4 (Session Management)。

会话管理 `bearerAuth` application/json

Request Body

Schema: dto.CreateSessionRequest

FieldTypeRequiredExampleConstraintsDescription
auth_user_id string Yes usr_abc123
amr array of

string

No ['password', 'totp']
app_id string No app_xyz
browser string No Chrome 123
device_fingerprint string No sha256:a1b2c3d4
device_id string No dev_abc123
device_type string No desktop
ip string No 192.168.1.1
os string No Windows 11
role string No admin
user_agent string No Mozilla/5.0

Responses

StatusDescriptionSchema
201会话创建成功,返回会话信息和令牌对dto.CreateSessionData
400请求参数有误dto.Problem
401未认证或令牌已过期dto.Problem
403无权限为其他用户创建会话dto.Problem
404用户不存在dto.Problem
500服务器内部错误dto.Problem

Referenced Schemas

dto.CreateSessionData

FieldTypeRequiredExampleConstraintsDescription
session dto.SessionResponse No
tokens dto.TokenPairResponse No

dto.FieldViolation

FieldTypeRequiredExampleConstraintsDescription
code string No Code 是错误代码(可选) 用于程序识别错误类型,如 "required", "format", "range"
description string No Description 是人类可读的错误描述 应该说明违反了什么规则,如 "必须是一个有效的邮箱地址"
field string No Field 是错误字段的路径 使用点号表示嵌套字段,如 "user.email" 或 "addresses[0].city"
value object No Value 是导致错误的值(可选,开发模式下使用) 生产环境可能不返回此字段以避免泄露敏感信息

dto.Problem

FieldTypeRequiredExampleConstraintsDescription
code integer No Code 是业务错误码 用于程序处理特定错误场景 示例:30101001
detail string No Detail 是针对此具体错误实例的人类可读解释 可以包含具体的错误细节,如"Field 'email' is required"
errors array of

See dto.FieldViolation

No Errors 是字段级验证错误列表(扩展字段) 遵循 Web API 标准实践,每个错误包含字段名和错误信息
i18n_args object No I18nArgs 是国际化参数 用于动态填充翻译模板
i18n_key string No I18nKey 是国际化键 用于客户端本地化错误消息 示例:"error.user_not_found"
instance string No Instance 是发生问题的具体URI引用 通常是请求的URL,可能包含查询参数 示例:"/api/v1/users?limit=invalid"
request_id string No RequestID 是请求唯一标识 用于日志关联和问题追踪 示例:"req_550e8400-e29b-41d4-a716-446655440000"
retry_after integer No RetryAfter 用于 429 Too Many Requests 响应 指示客户端应在多少秒后重试请求(RFC 6585)
service string No Service 是服务名 用于微服务架构中定位错误来源 示例:"auth-service"
span_id string No SpanID 是当前 span 标识 用于精确定位分布式链路中的当前节点
status integer No Status 是产生的HTTP状态码 用于客户端区分问题类型,不随Accept-Language变化 示例:400, 401, 403, 404, 500
timestamp string No Timestamp 是错误发生时间 ISO 8601 格式 示例:"2026-04-03T12:00:00Z"
title string No Title 是简短、人类可读的问题类型摘要 相同的 Type 应该始终有相同的 Title(不随实例变化) 示例:"Invalid Request Parameters"
trace_id string No TraceID 是分布式追踪标识 遵循 W3C Trace Context 标准 示例:"00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01"
type string No Type 是标识问题类型的URI引用 当该URI被解引用时,应提供人类可读的文档 示例:"https://api.example.com/errors/invalid-request"

dto.SessionResponse

用户会话信息

FieldTypeRequiredExampleConstraintsDescription
amr string No password,totp 认证方法引用
authenticated_at string No 2026-04-15T08:00:00Z 认证时间
created_at string No 2026-04-15T08:00:00Z 创建时间
device_id string No dev_abc123 设备ID
device_type string No desktop 设备类型
expires_at string No 2026-04-16T08:00:00Z 过期时间
geoip string No Beijing, CN GeoIP 地理位置
id string No sess_abc123 会话ID
idle_expires_at string No 2026-04-15T12:00:00Z 空闲过期时间
ip string No 192.168.1.1 IP
last_active_at string No 2026-04-15T10:30:00Z 最后活跃
status string No active 状态
tenant_id string No tnt_xyz789 租户ID
user_agent string No Mozilla/5.0... UA
user_id string No usr_abc123 用户ID

dto.TokenPairResponse

访问令牌和刷新令牌

FieldTypeRequiredExampleConstraintsDescription
access_token string No eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... 访问令牌
expires_in integer No 3600 过期秒数
refresh_token string No eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... 刷新令牌
token_type string No Bearer 类型