完成 WorkOS 登录

OpenAPI 契约

方法
POST
路径
/api/v1/auth/workos/callback
认证
None
响应状态
200 400 429 500
请求与响应 Schema
JSON
{
  "requestBody": {
    "application/json": {
      "$ref": "#/components/schemas/WorkOsCallbackRequest"
    }
  },
  "responses": {
    "200": {
      "description": "Session created",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/AuthResponse"
        }
      }
    },
    "400": {
      "description": "Invalid request",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/RequestError"
        }
      }
    },
    "429": {
      "description": "Rate limit exceeded",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/SecurityError"
        }
      }
    },
    "500": {
      "description": "Unexpected server error",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/ApiError"
        }
      }
    }
  }
}

POST /api/v1/auth/workos/callback 为公开接口。提交 WorkOS 返回的非空授权 code 和 state,以及发起登录的标签页在登录开始时保存的 browserProof。本地没有匹配的登录尝试时,不得兑换回调。证明只能使用一次,有效期为十分钟;过期或交换失败后,请重新发起登录。

成功回调会返回与密码登录相同的会话令牌字段:访问令牌、刷新令牌、令牌类型和访问令牌有效期。

浏览器证明、授权码和返回的令牌都是机密。只能向此 HTTPS 接口发送,不得写入日志或遥测。不得将浏览器证明加入提供商或回调 URL。无效、过期或失败的 WorkOS 交换会返回认证错误。

http
POST /api/v1/auth/workos/callback
Content-Type: application/json