保险库

一键授权

让用户授权第三方服务,并管理一次性授权链接与回跳地址。

让用户授权第三方服务,并管理一次性授权链接与回跳地址。

指南 →

基础地址与鉴权

一键授权为支持 OAuth 的服务产生 kind 为 oauth 的 Secret。发起授权后把 connect_url 交给最终用户;用户在确认页同意并在服务方完成授权后,Secret 写入库中,之后由平台续期。确认页、回调与客户端元数据三个地址不需要 API Key。

发起授权

POST /vault/v1/authorizations

请求体

字段类型 / 枚举必填说明
vault_idstring是库 ID
template_id"linear" / "atlassian"否支持授权的模板 ID;与 resource_url 二选一
resource_urlstring否要授权的资源地址,例如 MCP 服务地址
return_urlstring否授权结束后回到的地址;须在回跳地址白名单内

响应

HTTP 200

application/json

字段类型 / 枚举必填说明
idstring是对象标识符
type"vault_authorization"是对象类型
vault_idstring是库 ID
status"pending" / "authorizing" / "completed" / "failed" / "expired"是状态
resourcestring是资源地址
secret_namestring是关联的 Secret 名称
connect_urlstring是交给最终用户打开的确认页,30 分钟内有效、只能使用一次
client_registration"cimd" / "dcr" / null是cimd:通过客户端元数据 URL 注册;dcr:动态注册客户端;尚未注册时为 null
secret_idstring / null是关联的 Secret ID;未关联时为 null
errorobject / null是失败原因
error.codestring是稳定的错误码
error.messagestring是可读的错误说明
expires_atdate-time是过期时间
created_atdate-time是创建时间
updated_atdate-time是更新时间

错误响应

缺少或无效的 API Key 返回 401 UNAUTHENTICATED。

错误码HTTP含义、触发条件与处理kindrecovery可重试
VAULT_NOT_FOUND404库不存在或不属于当前账户;检查库 IDvalidation_failurenone否
VAULT_INVALID_STATE409向已归档的库或 Secret 写入;改用有效资源validation_failurenone否
INVALID_PARAMS400字段、名称、域名、metadata、分页或回跳地址无效;修正请求validation_failurenone否
RATE_LIMITED429一分钟内超过授权或校验额度;等待下一窗口rate_limitwait_then_retry是
OAUTH_DISCOVERY_FAILED400无法发现服务方 OAuth 配置;检查资源地址validation_failurecontinue_from_problem否
OAUTH_REGISTRATION_UNSUPPORTED400服务方不接受自动客户端注册;手动添加凭据validation_failurecontinue_from_problem否
OAUTH_ISSUER_MISMATCH400授权服务器与预期不一致;重新检查服务地址provider_upstreamretry_from_user否
curl -X POST "https://api.deepraxis.ai/vault/v1/authorizations" \
  -H "Authorization: Bearer $PRAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"vault_id\":\"${VAULT_ID}\",\"template_id\":\"linear\"}"

读取授权

GET /vault/v1/authorizations/{authorization_id}

参数位置说明
authorization_idpath授权 ID。

响应

HTTP 200

application/json

字段类型 / 枚举必填说明
idstring是对象标识符
type"vault_authorization"是对象类型
vault_idstring是库 ID
status"pending" / "authorizing" / "completed" / "failed" / "expired"是状态
resourcestring是资源地址
secret_namestring是关联的 Secret 名称
connect_urlstring是交给最终用户打开的确认页,30 分钟内有效、只能使用一次
client_registration"cimd" / "dcr" / null是cimd:通过客户端元数据 URL 注册;dcr:动态注册客户端;尚未注册时为 null
secret_idstring / null是关联的 Secret ID;未关联时为 null
errorobject / null是失败原因
error.codestring是稳定的错误码
error.messagestring是可读的错误说明
expires_atdate-time是过期时间
created_atdate-time是创建时间
updated_atdate-time是更新时间

错误响应

缺少或无效的 API Key 返回 401 UNAUTHENTICATED。

错误码HTTP含义、触发条件与处理kindrecovery可重试
AUTHORIZATION_NOT_FOUND404授权或确认链接不存在;重新发起授权validation_failurenone否
curl "https://api.deepraxis.ai/vault/v1/authorizations/${AUTHORIZATION_ID}" \
  -H "Authorization: Bearer $PRAXIS_API_KEY"

读取回跳地址

GET /vault/v1/settings/return_urls

响应

HTTP 200

application/json

字段类型 / 枚举必填说明
urlsstring[]是https 地址,精确匹配,最多 10 个

错误响应

缺少或无效的 API Key 返回 401 UNAUTHENTICATED。 没有额外的领域错误。

curl "https://api.deepraxis.ai/vault/v1/settings/return_urls" \
  -H "Authorization: Bearer $PRAXIS_API_KEY"

设置回跳地址

PUT /vault/v1/settings/return_urls

请求体

字段类型 / 枚举必填说明
urlsstring[]是https 地址,精确匹配,最多 10 个

响应

HTTP 200

application/json

字段类型 / 枚举必填说明
urlsstring[]是https 地址,精确匹配,最多 10 个

错误响应

缺少或无效的 API Key 返回 401 UNAUTHENTICATED。

错误码HTTP含义、触发条件与处理kindrecovery可重试
INVALID_PARAMS400字段、名称、域名、metadata、分页或回跳地址无效;修正请求validation_failurenone否
curl -X PUT "https://api.deepraxis.ai/vault/v1/settings/return_urls" \
  -H "Authorization: Bearer $PRAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"urls":["https://app.example.com/connected"]}'

授权回调

GET /vault/v1/authorizations/callback · 无需 API Key

参数位置说明
codequery服务方返回的授权码。
statequery发起授权时产生的一次性状态值。
errorquery服务方拒绝授权时返回的错误。
issquery服务方声明的授权服务器地址。

响应

HTTP 200

text/html

浏览器显示的确认页或结果页。

HTTP 302

通过 Location 响应头跳转到服务方授权页或已允许的回跳地址。

错误响应

错误码HTTP含义、触发条件与处理kindrecovery可重试
OAUTH_STATE_INVALID400回调 state 缺失、无效或重放;重新发起授权validation_failurenone否
OAUTH_ISSUER_MISMATCH400授权服务器与预期不一致;重新检查服务地址provider_upstreamretry_from_user否
OAUTH_EXCHANGE_FAILED502服务方拒绝授权码换令牌;重新授权provider_upstreamretry_from_user否
AUTHORIZATION_EXPIRED410授权链接超过 30 分钟或已使用;重新发起授权validation_failureretry_from_user否

设置了 return_url 时返回 302;未设置时返回 HTTP 200 结果页。

curl "https://api.deepraxis.ai/vault/v1/authorizations/callback"

OAuth 客户端元数据

GET /vault/v1/oauth/client.json · 无需 API Key

响应

HTTP 200

application/json

字段类型 / 枚举必填说明
client_idstring是客户端元数据 URL
client_namestring是客户端显示名称
redirect_urisstring[]是允许的 OAuth 回调地址
token_endpoint_auth_method"none"是令牌端点认证方式
grant_types"authorization_code" / "refresh_token"[]否支持的授权类型
response_types"code"[]否支持的授权响应类型

错误响应

没有额外的领域错误。

curl "https://api.deepraxis.ai/vault/v1/oauth/client.json"

授权确认页

GET /vault/v1/connect/{token} · 无需 API Key

参数位置说明
tokenpathconnect_url 中的一次性令牌。

响应

HTTP 200

text/html

浏览器显示的确认页或结果页。

HTTP 410

text/html

浏览器显示的确认页或结果页。

错误响应

错误码HTTP含义、触发条件与处理kindrecovery可重试
AUTHORIZATION_NOT_FOUND404授权或确认链接不存在;重新发起授权validation_failurenone否
AUTHORIZATION_EXPIRED410授权链接超过 30 分钟或已使用;重新发起授权validation_failureretry_from_user否

无效链接返回 404;过期或已使用的链接返回 410,均为 HTML 页面。

curl "https://api.deepraxis.ai/vault/v1/connect/${TOKEN}"

继续授权

POST /vault/v1/connect/{token}/continue · 无需 API Key

参数位置说明
tokenpathconnect_url 中的一次性令牌。

响应

HTTP 302

通过 Location 响应头跳转到服务方授权页或已允许的回跳地址。

错误响应

错误码HTTP含义、触发条件与处理kindrecovery可重试
AUTHORIZATION_NOT_FOUND404授权或确认链接不存在;重新发起授权validation_failurenone否
AUTHORIZATION_EXPIRED410授权链接超过 30 分钟或已使用;重新发起授权validation_failureretry_from_user否
OAUTH_DISCOVERY_FAILED400无法发现服务方 OAuth 配置;检查资源地址validation_failurecontinue_from_problem否
curl -X POST "https://api.deepraxis.ai/vault/v1/connect/${TOKEN}/continue"

拒绝授权

POST /vault/v1/connect/{token}/deny · 无需 API Key

参数位置说明
tokenpathconnect_url 中的一次性令牌。

响应

HTTP 200

text/html

浏览器显示的确认页或结果页。

HTTP 302

通过 Location 响应头跳转到服务方授权页或已允许的回跳地址。

错误响应

错误码HTTP含义、触发条件与处理kindrecovery可重试
AUTHORIZATION_NOT_FOUND404授权或确认链接不存在;重新发起授权validation_failurenone否
AUTHORIZATION_EXPIRED410授权链接超过 30 分钟或已使用;重新发起授权validation_failureretry_from_user否

设置了 return_url 时返回 302;未设置时返回 HTTP 200 结果页。

curl -X POST "https://api.deepraxis.ai/vault/v1/connect/${TOKEN}/deny"

Authorization

字段类型 / 枚举必填说明
idstring是对象标识符
type"vault_authorization"是对象类型
vault_idstring是库 ID
status"pending" / "authorizing" / "completed" / "failed" / "expired"是状态
resourcestring是资源地址
secret_namestring是关联的 Secret 名称
connect_urlstring是交给最终用户打开的确认页,30 分钟内有效、只能使用一次
client_registration"cimd" / "dcr" / null是cimd:通过客户端元数据 URL 注册;dcr:动态注册客户端;尚未注册时为 null
secret_idstring / null是关联的 Secret ID;未关联时为 null
errorobject / null是失败原因
error.codestring是稳定的错误码
error.messagestring是可读的错误说明
expires_atdate-time是过期时间
created_atdate-time是创建时间
updated_atdate-time是更新时间

ReturnUrls

字段类型 / 枚举必填说明
urlsstring[]是https 地址,精确匹配,最多 10 个
导出

本页内容