Login: post: operationId: login summary: 用户登录 security: [] parameters: - $ref: '../components/parameters.yaml#/XRequestId' requestBody: required: true content: application/json: schema: $ref: '../components/schemas.yaml#/LoginRequest' responses: '200': description: 登录成功 content: application/json: schema: $ref: '../components/schemas.yaml#/LoginResponse' '400': $ref: '../components/responses.yaml#/InvalidArgument' '401': $ref: '../components/responses.yaml#/AuthenticationError' '403': $ref: '../components/responses.yaml#/Forbidden' '500': $ref: '../components/responses.yaml#/InternalError' Logout: post: operationId: logout summary: 注销并使当前用户旧Token失效 parameters: - $ref: '../components/parameters.yaml#/XRequestId' responses: '200': description: 注销成功 content: application/json: schema: $ref: '../components/schemas.yaml#/EmptySuccessResponse' '400': $ref: '../components/responses.yaml#/InvalidArgument' '401': $ref: '../components/responses.yaml#/AuthenticationError' '403': $ref: '../components/responses.yaml#/Forbidden' '500': $ref: '../components/responses.yaml#/InternalError' PortalVerify: post: operationId: verifyPortalLaunch summary: 统一门户跳转验签 description: 透传浏览器地址栏query串验签,按需落库建档并同步组织信息;返回跳转阶段,首次进入需设置独立密码。 security: [] parameters: - $ref: '../components/parameters.yaml#/XRequestId' requestBody: required: true content: application/json: schema: type: object required: [query] additionalProperties: false properties: query: {type: string, minLength: 1, description: 门户跳转链接的完整query串} responses: '200': description: 验签结果 content: application/json: schema: type: object required: [code, message, data, requestId] properties: code: {type: string} message: {type: string} requestId: {type: string} data: type: object required: [phase, username, realName] properties: phase: {type: string, enum: [LOGIN, SET_PASSWORD], description: SET_PASSWORD时携带一次性设密票据portalTicket} username: {type: string} realName: {type: string} portalTicket: {type: string} '400': $ref: '../components/responses.yaml#/InvalidArgument' '403': $ref: '../components/responses.yaml#/Forbidden' '500': $ref: '../components/responses.yaml#/InternalError' PortalSetupPassword: post: operationId: setupPortalPassword summary: 门户用户首次设置独立密码并登录 description: 票据一次性且5分钟内有效;设置成功后签发访问令牌。 security: [] parameters: - $ref: '../components/parameters.yaml#/XRequestId' requestBody: required: true content: application/json: schema: type: object required: [portalTicket, newPassword, keepSignedIn] additionalProperties: false properties: portalTicket: {type: string, minLength: 1} newPassword: {type: string, minLength: 1} keepSignedIn: {type: boolean} responses: '200': description: 设密并登录成功 content: application/json: schema: $ref: '../components/schemas.yaml#/LoginResponse' '400': $ref: '../components/responses.yaml#/InvalidArgument' '403': $ref: '../components/responses.yaml#/Forbidden' '500': $ref: '../components/responses.yaml#/InternalError'