开始 WorkOS 登录

OpenAPI 契约

方法
POST
路径
/api/v1/auth/workos/login/{provider}
认证
None
响应状态
200 400 429 500
请求与响应 Schema
JSON
{
  "requestBody": {},
  "responses": {
    "200": {
      "description": "Authorization URL",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/WorkOsLoginResponse"
        }
      }
    },
    "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/login/{provider} 为公开接口。将 {provider} 替换为受支持的 WorkOS 提供商。响应包含 url、state、browserProof 和 expiresAt,用于有效期为十分钟的一次性登录尝试。

打开 url 前,请以 state 为键,将 browserProof 存入发起登录的标签页的 session storage。不得将此证明写入 URL、日志或遥测。只有回调中的 state 与尚未过期的本地登录尝试匹配时,才能完成回调。服务端负责 PKCE,并拒绝缺失、不匹配、过期或已使用的证明。

此接口不会创建 Nativify 会话。不得将返回 URL 当作凭据,也不要修改其授权参数。不支持的提供商、已禁用的 WorkOS 认证或不完整配置会返回错误。

http
POST /api/v1/auth/workos/login/{provider}