Core:Key 与访问令牌
API 逐项需求、源码归属、字段与验收条件
当前固定源码下本组共 16 项方法 + 路径。下列为接口需求 v0.1,Owner 为 Core,计划阶段为 CE-02;均未宣称 OceanWay 已运行。原路径/字段默认沿用,变化须进入差异台账。
每项适用统一接口需求规则,并列出上游字段声明、控制器观察与具体补差。OpenAPI 没列必填不表示运行时可缺省;观察到的 JSON key 也不等于可写入字段。下载完整接口台账及上游管理规范、模型规范可查看完整嵌套 Schema。
CORE-KEY-001 · GET /api/log/token
用途与归属:通过令牌获取日志。优先沿用,迁入/适配后验收。
鉴权:模型 Key,只读验证。
请求:OpenAPI 参数:query.key:string。自动提取未发现请求体字段;是否接受 Body 及约束仍以处理器为准。
返回:200 成功(上游未声明响应 Schema);代码 JSON/映射中观察到 data, message, success(仅为字面键观察,含分支/内部映射,不等同完整响应契约)。
业务与副作用:模型调用 Key 与账户访问令牌分开。列表掩码、单条取回校验 owner;不要求用户进入详情或再确认。创建不接受客户端自定 user_id/key/used_quota;撤销、有效期、模型范围和额度实时或按明确缓存时限生效。
幂等、重试与异常:默认读取可重试;但上游存在 GET 执行动作/签发凭据,必须按处理器确认。不得把方法名作为安全重试的唯一依据。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。
验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。
迁入差异:RESPONSE-SCHEMA-MISSING:上游响应未定义结构;以处理器和兼容用例补齐。
来源:router/api-router.go:345;controller.GetLogByKey controller/log.go:79;上游 api.json 中 GET /api/log/token。
CORE-KEY-002 · GET /api/token/
用途与归属:获取所有令牌。优先沿用,迁入/适配后验收。
鉴权:客户登录身份(沿用上游 UserAuth 支持范围)。
请求:OpenAPI 参数:query.p:integer; query.page_size:integer。处理器读取:query.p, query.page_size。Query:p、page_size;客户 ID 来自身份上下文,不接受任意账户查询。
返回:ApiSuccess 包络内分页数据 page/page_size/total/items;items 使用 masked key,并包含解析后的 auto_groups。
业务与副作用:模型调用 Key 与账户访问令牌分开。列表掩码、单条取回校验 owner;不要求用户进入详情或再确认。创建不接受客户端自定 user_id/key/used_quota;撤销、有效期、模型范围和额度实时或按明确缓存时限生效。
幂等、重试与异常:默认读取可重试;但上游存在 GET 执行动作/签发凭据,必须按处理器确认。不得把方法名作为安全重试的唯一依据。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。
验收需求:跨账户隔离、空列表、边界分页、列表不泄漏完整 Key、数量一致。
迁入差异:RESPONSE-SCHEMA-MISSING:上游响应未定义结构;以处理器和兼容用例补齐。
来源:router/api-router.go:275;controller.GetAllTokens controller/token.go:130;上游 api.json 中 GET /api/token/。
CORE-KEY-003 · POST /api/token/
用途与归属:创建令牌。优先沿用,迁入/适配后验收。
鉴权:客户登录身份(沿用上游 UserAuth 支持范围)。
请求:JSON 写入白名单:name(最多 50 字符)、expired_time、remain_quota、unlimited_quota、model_limits_enabled、model_limits、allow_ips、group、cross_group_retry、auto_groups。user_id、key、created_time、used_quota 为服务端事实;非无限额度需 0 到源码上限内,auto_groups 需去重、数量及可选组校验。
返回:现有成功响应为 success=true、message="",不返回新 ID 或完整 Key。UI 可刷新列表;若增加 ID,记录为兼容扩展,不宣称上游已有。
业务与副作用:模型调用 Key 与账户访问令牌分开。列表掩码、单条取回校验 owner;不要求用户进入详情或再确认。创建不接受客户端自定 user_id/key/used_quota;撤销、有效期、模型范围和额度实时或按明确缓存时限生效。
幂等、重试与异常:沿用原行为,不擅自要求所有旧接口新增 Idempotency-Key;创建/财务动作必须定义重复点击和响应丢失结果,客户端不得无条件自动重试。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。
验收需求:名称超长、负额度、用户 Key 数量上限、无权限分组、重复 auto_groups、客户端伪造 owner/key、创建后列表定位。
迁入差异:RESPONSE-SCHEMA-MISSING:上游响应未定义结构;以处理器和兼容用例补齐。
来源:router/api-router.go:280;controller.AddToken controller/token.go:278;上游 api.json 中 POST /api/token/。
CORE-KEY-004 · PUT /api/token/
用途与归属:更新令牌。优先沿用,迁入/适配后验收。
鉴权:客户登录身份(沿用上游 UserAuth 支持范围)。
请求:处理器读取:query.status_only。JSON:id 必须定位本人记录,编辑字段沿用创建白名单;Query status_only 非空时只改 status。启用过期或已耗尽 Key 需满足原校验。auto_groups 只有明确提供时更新,非 auto 清除自动组与跨组重试。
返回:沿用 UpdateToken 的成功包络与更新后记录;Key/owner/已用额度不能被任意覆盖。
业务与副作用:模型调用 Key 与账户访问令牌分开。列表掩码、单条取回校验 owner;不要求用户进入详情或再确认。创建不接受客户端自定 user_id/key/used_quota;撤销、有效期、模型范围和额度实时或按明确缓存时限生效。
幂等、重试与异常:沿用原行为,不擅自要求所有旧接口新增 Idempotency-Key;创建/财务动作必须定义重复点击和响应丢失结果,客户端不得无条件自动重试。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。
验收需求:本人/他人、非法状态、过期再启用、耗尽再启用、只改状态、auto_groups 缺省与空列表区别。
迁入差异:RESPONSE-SCHEMA-MISSING:上游响应未定义结构;以处理器和兼容用例补齐。
来源:router/api-router.go:281;controller.UpdateToken controller/token.go:383;上游 api.json 中 PUT /api/token/。
CORE-KEY-005 · DELETE /api/token/:id
用途与归属:删除令牌。优先沿用,迁入/适配后验收。
鉴权:客户登录身份(沿用上游 UserAuth 支持范围)。
请求:Path:id(必填;以实际路由名为准)。OpenAPI 参数:path.id:integer(必填)。处理器读取:path.id。自动提取未发现请求体字段;是否接受 Body 及约束仍以处理器为准。
返回:200 成功(上游未声明响应 Schema);代码 JSON/映射中观察到 message, success(仅为字面键观察,含分支/内部映射,不等同完整响应契约)。
业务与副作用:模型调用 Key 与账户访问令牌分开。列表掩码、单条取回校验 owner;不要求用户进入详情或再确认。创建不接受客户端自定 user_id/key/used_quota;撤销、有效期、模型范围和额度实时或按明确缓存时限生效。
幂等、重试与异常:沿用原行为,不擅自要求所有旧接口新增 Idempotency-Key;创建/财务动作必须定义重复点击和响应丢失结果,客户端不得无条件自动重试。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。
验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。
迁入差异:RESPONSE-SCHEMA-MISSING:上游响应未定义结构;以处理器和兼容用例补齐。
来源:router/api-router.go:282;controller.DeleteToken controller/token.go:361;上游 api.json 中 DELETE /api/token/{id}。
CORE-KEY-006 · GET /api/token/:id
用途与归属:获取指定令牌。优先沿用,迁入/适配后验收。
鉴权:客户登录身份(沿用上游 UserAuth 支持范围)。
请求:Path:id(必填;以实际路由名为准)。OpenAPI 参数:path.id:integer(必填)。处理器读取:path.id。自动提取未发现请求体字段;是否接受 Body 及约束仍以处理器为准。
返回:200 成功(上游未声明响应 Schema);处理器使用 common.ApiSuccess 包络。
业务与副作用:模型调用 Key 与账户访问令牌分开。列表掩码、单条取回校验 owner;不要求用户进入详情或再确认。创建不接受客户端自定 user_id/key/used_quota;撤销、有效期、模型范围和额度实时或按明确缓存时限生效。
幂等、重试与异常:默认读取可重试;但上游存在 GET 执行动作/签发凭据,必须按处理器确认。不得把方法名作为安全重试的唯一依据。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。
验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。
迁入差异:RESPONSE-SCHEMA-MISSING:上游响应未定义结构;以处理器和兼容用例补齐。
来源:router/api-router.go:278;controller.GetToken controller/token.go:161;上游 api.json 中 GET /api/token/{id}。
CORE-KEY-007 · POST /api/token/:id/key
用途与归属:GetTokenKey。优先沿用,迁入/适配后验收。
鉴权:客户登录身份(沿用上游 UserAuth 支持范围)。
请求:Path:id(必填;以实际路由名为准)。处理器读取:path.id。Path:id,解析为令牌 ID;无额外必填 JSON。必须是当前客户持有的 Key。
返回:ApiSuccess(data={key: 完整值});DisableCache;直接供掩码旁复制使用,不新增强制详情或确认。
业务与副作用:模型调用 Key 与账户访问令牌分开。列表掩码、单条取回校验 owner;不要求用户进入详情或再确认。创建不接受客户端自定 user_id/key/used_quota;撤销、有效期、模型范围和额度实时或按明确缓存时限生效。
幂等、重试与异常:沿用原行为,不擅自要求所有旧接口新增 Idempotency-Key;创建/财务动作必须定义重复点击和响应丢失结果,客户端不得无条件自动重试。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。
验收需求:本人成功、他人/不存在/非法 ID 拒绝;缓存与日志不留完整值;重复读取不改变余额。
迁入差异:OPENAPI-MISSING:源码已注册,上游 OpenAPI 无匹配操作。
来源:router/api-router.go:279;controller.GetTokenKey controller/token.go:188。
CORE-KEY-008 · GET /api/token/auto-groups
用途与归属:GetTokenAutoGroups。优先沿用,迁入/适配后验收。
鉴权:客户登录身份(沿用上游 UserAuth 支持范围)。
请求:自动提取未发现请求体字段;是否接受 Body 及约束仍以处理器为准。
返回:上游 OpenAPI 无本项响应规范;按处理器返回值补齐成功、拒绝和错误结构;处理器使用 common.ApiSuccess 包络;代码 JSON/映射中观察到 groups, max_count(仅为字面键观察,含分支/内部映射,不等同完整响应契约)。
业务与副作用:模型调用 Key 与账户访问令牌分开。列表掩码、单条取回校验 owner;不要求用户进入详情或再确认。创建不接受客户端自定 user_id/key/used_quota;撤销、有效期、模型范围和额度实时或按明确缓存时限生效。
幂等、重试与异常:默认读取可重试;但上游存在 GET 执行动作/签发凭据,必须按处理器确认。不得把方法名作为安全重试的唯一依据。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。
验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。
迁入差异:OPENAPI-MISSING:源码已注册,上游 OpenAPI 无匹配操作。
来源:router/api-router.go:277;controller.GetTokenAutoGroups controller/token.go:176。
CORE-KEY-009 · POST /api/token/batch
用途与归属:批量删除令牌。优先沿用,迁入/适配后验收。
鉴权:客户登录身份(沿用上游 UserAuth 支持范围)。
请求:Body 字段(application/json):ids:array [规范未列必填]。
返回:200 成功(上游未声明响应 Schema);代码 JSON/映射中观察到 data, message, success(仅为字面键观察,含分支/内部映射,不等同完整响应契约)。
业务与副作用:模型调用 Key 与账户访问令牌分开。列表掩码、单条取回校验 owner;不要求用户进入详情或再确认。创建不接受客户端自定 user_id/key/used_quota;撤销、有效期、模型范围和额度实时或按明确缓存时限生效。
幂等、重试与异常:沿用原行为,不擅自要求所有旧接口新增 Idempotency-Key;创建/财务动作必须定义重复点击和响应丢失结果,客户端不得无条件自动重试。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。
验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。
迁入差异:RESPONSE-SCHEMA-MISSING:上游响应未定义结构;以处理器和兼容用例补齐。
来源:router/api-router.go:283;controller.DeleteTokenBatch controller/token.go:495;上游 api.json 中 POST /api/token/batch。
CORE-KEY-010 · POST /api/token/batch/keys
用途与归属:GetTokenKeysBatch。优先沿用,迁入/适配后验收。
鉴权:客户登录身份(沿用上游 UserAuth 支持范围)。
请求:JSON:ids 数组,非空且最多 100 项;查询强制当前用户归属。
返回:ApiSuccess data.keys 为 ID 到完整 Key 的映射,只返回查询到的本人记录;不可假设每个请求 ID 都成功。
业务与副作用:模型调用 Key 与账户访问令牌分开。列表掩码、单条取回校验 owner;不要求用户进入详情或再确认。创建不接受客户端自定 user_id/key/used_quota;撤销、有效期、模型范围和额度实时或按明确缓存时限生效。
幂等、重试与异常:沿用原行为,不擅自要求所有旧接口新增 Idempotency-Key;创建/财务动作必须定义重复点击和响应丢失结果,客户端不得无条件自动重试。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。
验收需求:0/1/100/101 项、混入他人或不存在 ID、无缓存、日志不记录完整值。
迁入差异:OPENAPI-MISSING:源码已注册,上游 OpenAPI 无匹配操作。
来源:router/api-router.go:284;controller.GetTokenKeysBatch controller/token.go:521。
CORE-KEY-011 · GET /api/token/search
用途与归属:搜索令牌。优先沿用,迁入/适配后验收。
鉴权:客户登录身份(沿用上游 UserAuth 支持范围)。
请求:OpenAPI 参数:query.keyword:string。处理器读取:query.keyword, query.token, query.p, query.page_size。自动提取未发现请求体字段;是否接受 Body 及约束仍以处理器为准。
返回:200 成功(上游未声明响应 Schema);处理器使用 common.ApiSuccess 包络。
业务与副作用:模型调用 Key 与账户访问令牌分开。列表掩码、单条取回校验 owner;不要求用户进入详情或再确认。创建不接受客户端自定 user_id/key/used_quota;撤销、有效期、模型范围和额度实时或按明确缓存时限生效。
幂等、重试与异常:默认读取可重试;但上游存在 GET 执行动作/签发凭据,必须按处理器确认。不得把方法名作为安全重试的唯一依据。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。
验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。
迁入差异:RESPONSE-SCHEMA-MISSING:上游响应未定义结构;以处理器和兼容用例补齐。
来源:router/api-router.go:276;controller.SearchTokens controller/token.go:144;上游 api.json 中 GET /api/token/search。
CORE-KEY-012 · GET /api/usage/token/
用途与归属:获取令牌使用情况。优先沿用,迁入/适配后验收。
鉴权:模型 Key,只读验证。
请求:OpenAPI 参数:header.Authorization:string。处理器读取:header.Authorization。自动提取未发现请求体字段;是否接受 Body 及约束仍以处理器为准。
返回:200 成功(上游未声明响应 Schema);代码 JSON/映射中观察到 code, data, expires_at, message, model_limits, model_limits_enabled, name, object, success, total_available, total_granted, total_used, unlimited_quota(仅为字面键观察,含分支/内部映射,不等同完整响应契约)。
业务与副作用:模型调用 Key 与账户访问令牌分开。列表掩码、单条取回校验 owner;不要求用户进入详情或再确认。创建不接受客户端自定 user_id/key/used_quota;撤销、有效期、模型范围和额度实时或按明确缓存时限生效。
幂等、重试与异常:默认读取可重试;但上游存在 GET 执行动作/签发凭据,必须按处理器确认。不得把方法名作为安全重试的唯一依据。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。
验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。
迁入差异:RESPONSE-SCHEMA-MISSING:上游响应未定义结构;以处理器和兼容用例补齐。
来源:router/api-router.go:293;controller.GetTokenUsage controller/token.go:229;上游 api.json 中 GET /api/usage/token/。
CORE-KEY-013 · DELETE /api/user/token
用途与归属:RevokeAccessToken。优先沿用,迁入/适配后验收。
鉴权:客户登录身份(沿用上游 UserAuth 支持范围);处理器安全证明用途:VerificationScopeAccessTokenRevoke。
请求:自动提取未发现请求体字段;是否接受 Body 及约束仍以处理器为准。
返回:上游 OpenAPI 无本项响应规范;按处理器返回值补齐成功、拒绝和错误结构;处理器使用 common.ApiSuccess 包络;代码 JSON/映射中观察到 token_ref(仅为字面键观察,含分支/内部映射,不等同完整响应契约)。
业务与副作用:模型调用 Key 与账户访问令牌分开。列表掩码、单条取回校验 owner;不要求用户进入详情或再确认。创建不接受客户端自定 user_id/key/used_quota;撤销、有效期、模型范围和额度实时或按明确缓存时限生效。
幂等、重试与异常:沿用原行为,不擅自要求所有旧接口新增 Idempotency-Key;创建/财务动作必须定义重复点击和响应丢失结果,客户端不得无条件自动重试。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。
验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。
迁入差异:OPENAPI-MISSING:源码已注册,上游 OpenAPI 无匹配操作。
来源:router/api-router.go:105;controller.RevokeAccessToken controller/access_token.go:51。
CORE-KEY-014 · GET /api/user/token
用途与归属:生成访问令牌。优先沿用,迁入/适配后验收。
鉴权:客户登录身份(沿用上游 UserAuth 支持范围);处理器安全证明用途:VerificationScopeAccessTokenGenerate。
请求:UserAuth 与账户访问令牌生成安全证明;没有额外必填 JSON。此 GET 会产生变更,不能当读取自动重试。
返回:success/message/data 为新账户访问令牌字符串;不是模型调用 Key,生成会更新用户访问令牌。
业务与副作用:模型调用 Key 与账户访问令牌分开。列表掩码、单条取回校验 owner;不要求用户进入详情或再确认。创建不接受客户端自定 user_id/key/used_quota;撤销、有效期、模型范围和额度实时或按明确缓存时限生效。
幂等、重试与异常:默认读取可重试;但上游存在 GET 执行动作/签发凭据,必须按处理器确认。不得把方法名作为安全重试的唯一依据。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。
验收需求:安全证明缺失/用途错误拒绝;只更新本人令牌,缓存和日志不泄密,响应丢失不无条件重新生成。
迁入差异:RESPONSE-SCHEMA-MISSING:上游响应未定义结构;以处理器和兼容用例补齐。
来源:router/api-router.go:102;controller.GenerateAccessToken controller/access_token.go:24;上游 api.json 中 GET /api/user/token。
CORE-KEY-015 · POST /api/user/token
用途与归属:GenerateAccessToken。优先沿用,迁入/适配后验收。
鉴权:客户登录身份(沿用上游 UserAuth 支持范围);处理器安全证明用途:VerificationScopeAccessTokenGenerate。
请求:UserAuth 与账户访问令牌生成安全证明,复用同一个 GenerateAccessToken。
返回:success/message/data 为新账户访问令牌,替换用户当前访问令牌。
业务与副作用:模型调用 Key 与账户访问令牌分开。列表掩码、单条取回校验 owner;不要求用户进入详情或再确认。创建不接受客户端自定 user_id/key/used_quota;撤销、有效期、模型范围和额度实时或按明确缓存时限生效。
幂等、重试与异常:沿用原行为,不擅自要求所有旧接口新增 Idempotency-Key;创建/财务动作必须定义重复点击和响应丢失结果,客户端不得无条件自动重试。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。
验收需求:验证安全证明、本人归属、重复点击与响应丢失处理、日志与缓存脱敏。
迁入差异:OPENAPI-MISSING:源码已注册,上游 OpenAPI 无匹配操作。
来源:router/api-router.go:104;controller.GenerateAccessToken controller/access_token.go:24。
CORE-KEY-016 · GET /api/user/token/status
用途与归属:GetAccessTokenStatus。优先沿用,迁入/适配后验收。
鉴权:客户登录身份(沿用上游 UserAuth 支持范围)。
请求:自动提取未发现请求体字段;是否接受 Body 及约束仍以处理器为准。
返回:上游 OpenAPI 无本项响应规范;按处理器返回值补齐成功、拒绝和错误结构;处理器使用 common.ApiSuccess 包络。
业务与副作用:模型调用 Key 与账户访问令牌分开。列表掩码、单条取回校验 owner;不要求用户进入详情或再确认。创建不接受客户端自定 user_id/key/used_quota;撤销、有效期、模型范围和额度实时或按明确缓存时限生效。
幂等、重试与异常:默认读取可重试;但上游存在 GET 执行动作/签发凭据,必须按处理器确认。不得把方法名作为安全重试的唯一依据。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。
验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。
迁入差异:OPENAPI-MISSING:源码已注册,上游 OpenAPI 无匹配操作。
来源:router/api-router.go:103;controller.GetAccessTokenStatus controller/access_token.go:15。
当前本地实现切片
Core 已在显式身份模式中接通 6 条密码/会话路由与 3 条受保护 Key 读取路由。上方完整清单仍是上游参考范围,不代表全部支持;精确实现和差异见会话执行记录。
Key 写入与搜索的当前候选
已接入 POST/PUT /api/token/、DELETE /api/token/:id 与 GET /api/token/search。源字段和差异、普通 PUT/status_only 行为、客户价格组限制、审计回滚见管理执行记录与精确规范。上方全量表中的批量/自动组等接口仍为待接入参考。