From 49cf57c830316f824c7134ff06b17c34d2949684 Mon Sep 17 00:00:00 2001 From: mitrikov Date: Tue, 16 Dec 2025 13:21:19 +1200 Subject: [PATCH] feat: /v2/mobile/oauth-list --- v2/swagger.yaml | 85 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 84 insertions(+), 1 deletion(-) diff --git a/v2/swagger.yaml b/v2/swagger.yaml index 0990751..7571e4c 100644 --- a/v2/swagger.yaml +++ b/v2/swagger.yaml @@ -331,7 +331,7 @@ paths: 500: description: Server Error. - /mobile/user-index: + /mobile/index: get: tags: - mobile @@ -387,6 +387,42 @@ paths: 500: description: Server Error + /mobile/oauth-list: + get: + tags: + - mobile + summary: Список OAuth-провайдеров + description: > + Возвращает список доступных OAuth-провайдеров для авторизации. + Используется мобильным клиентом для отображения кнопок входа. + responses: + '200': + description: Список OAuth-провайдеров + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/mobileOauthProvider' + example: + - id: "2fe36634-875b-4c2c-b22b-8954d971be95" + name: "Secret Service" + buttonLoginName: "Service" + imageUrl: "https://tenant.hrbox.io/file/resize/22x22/76e39870-66e2-451f-aa0f-c8ffa3db318d.png" + oauthTypeId: 3 + oauthTypeName: "OpenID" + authUrl: "https://oauth.hrbox.io/auth/oauth?response_type=code&client_id=example" + - id: "google" + name: "Google" + buttonLoginName: "Войти через Google" + imageUrl: "https://tenant.hrbox.io/img/social/google.svg" + oauthTypeId: null + oauthTypeName: "Google" + authUrl: "httpss://accounts.google.com/o/oauth2/v2/auth?...&scope=email" + 500: + description: Server Error + + /mobile/user-unbind: delete: tags: @@ -11565,6 +11601,53 @@ components: description: IP-адрес последнего подключения example: "192.168.1.42" + mobileOauthProvider: + type: object + required: + - id + - name + - buttonLoginName + - authUrl + properties: + id: + description: > + Уникальный идентификатор OAuth-провайдера. + Может быть UUID (внутренний провайдер) или строковый код (google, yandex). + type: string + example: "google" + name: + description: Отображаемое название провайдера + type: string + example: "Google" + buttonLoginName: + description: Текст кнопки входа + type: string + example: "Войти через Google" + imageUrl: + description: URL иконки провайдера + type: string + nullable: true + example: "https://tenant.hrbox.io/img/social/google.svg" + oauthTypeId: + description: > + Тип OAuth-провайдера: + * `1` - Default + * `2` - ADFS + * `3` - OpenId + type: integer + nullable: true + enum: [ 1, 2, 3 ] + example: 3 + oauthTypeName: + description: Название типа OAuth + type: string + example: "OpenID" + authUrl: + description: URL для начала OAuth-авторизации + type: string + format: uri + example: "https://accounts.google.com/o/oauth2/v2/auth?..." + parameters: boardDateTypeParam: in: query