# Протокол

## Оглавление

- [keyapis/identity/v1/keyapis_identity_oauth2_v1.proto](#keyapis_identity_v1_keyapis_identity_oauth2_v1-proto)
    - [Oauth2Service](#keyapis-identity-v1-Oauth2Service)
  
    - [AuthServiceError](#keyapis-identity-v1-AuthServiceError)
    - [AuthServiceError.AuthError](#keyapis-identity-v1-AuthServiceError-AuthError)
    - [GetOauth2ConsentRequest](#keyapis-identity-v1-GetOauth2ConsentRequest)
    - [GetOauth2ConsentResponse](#keyapis-identity-v1-GetOauth2ConsentResponse)
    - [GetOauth2ConsentResponse.Error](#keyapis-identity-v1-GetOauth2ConsentResponse-Error)
    - [PostOauth2LoginByCodeRequest](#keyapis-identity-v1-PostOauth2LoginByCodeRequest)
    - [PostOauth2LoginByCodeResponse](#keyapis-identity-v1-PostOauth2LoginByCodeResponse)
    - [PostOauth2LoginByCodeResponse.Error](#keyapis-identity-v1-PostOauth2LoginByCodeResponse-Error)
    - [PostOauth2LoginByPasswordRequest](#keyapis-identity-v1-PostOauth2LoginByPasswordRequest)
    - [PostOauth2LoginByPasswordResponse](#keyapis-identity-v1-PostOauth2LoginByPasswordResponse)
    - [PostOauth2LoginByPasswordResponse.Error](#keyapis-identity-v1-PostOauth2LoginByPasswordResponse-Error)
  


## [Схема классов](/svg/protos/key/keyapis/identity/v1/keyapis_identity_oauth2_v1.proto.svg)
<a href="/svg/protos/key/keyapis/identity/v1/keyapis_identity_oauth2_v1.proto.svg"><img src="/svg/protos/key/keyapis/identity/v1/keyapis_identity_oauth2_v1.proto.svg" alt="/svg/protos/key/keyapis/identity/v1/keyapis_identity_oauth2_v1.proto.svg" style="height:100%;"></a>




<a name="keyapis_identity_v1_keyapis_identity_oauth2_v1-proto"></a>

## [keyapis/identity/v1/keyapis_identity_oauth2_v1.proto](/protos/key/keyapis/identity/v1/keyapis_identity_oauth2_v1.proto)
Сервис предоставляет возможность авторизации


<a name="keyapis-identity-v1-Oauth2Service"></a>

### Oauth2Service
 Сервис авторизации пользователей по процедуре OAuth2

| Название метода | Описание | Тип запроса | Тип ответа |
| --------------- | -------- | ----------- | -----------|
| <a id="keyapis-identity-v1-PostOauth2LoginByCode"></a> [PostOauth2LoginByCode](#keyapis-identity-v1-PostOauth2LoginByCode) | Метод авторизации по ОТП-коду по процедуре OAuth2. Метод возвращает переадресацию в виде GRPC метаданных x-http-code и location. Не требует авторизации | [keyapis.identity.v1.PostOauth2LoginByCodeRequest](#keyapis-identity-v1-PostOauth2LoginByCodeRequest) | [keyapis.identity.v1.PostOauth2LoginByCodeResponse](#keyapis-identity-v1-PostOauth2LoginByCodeResponse) |
| <a id="keyapis-identity-v1-PostOauth2LoginByPassword"></a> [PostOauth2LoginByPassword](#keyapis-identity-v1-PostOauth2LoginByPassword) | Метод авторизации по паролю по процедуре OAuth2. Метод возвращает переадресацию в виде GRPC метаданных x-http-code и location. Не требует авторизации | [keyapis.identity.v1.PostOauth2LoginByPasswordRequest](#keyapis-identity-v1-PostOauth2LoginByPasswordRequest) | [keyapis.identity.v1.PostOauth2LoginByPasswordResponse](#keyapis-identity-v1-PostOauth2LoginByPasswordResponse) |
| <a id="keyapis-identity-v1-GetOauth2Consent"></a> [GetOauth2Consent](#keyapis-identity-v1-GetOauth2Consent) | Метод запроса соглашения пользователя по процедуре OAuth2. Метод возвращает переадресацию в виде GRPC метаданных x-http-code и location. Не требует авторизации | [keyapis.identity.v1.GetOauth2ConsentRequest](#keyapis-identity-v1-GetOauth2ConsentRequest) | [keyapis.identity.v1.GetOauth2ConsentResponse](#keyapis-identity-v1-GetOauth2ConsentResponse) |

 <!-- end services -->


<a name="keyapis-identity-v1-AuthServiceError"></a>


### [AuthServiceError](#keyapis-identity-v1-AuthServiceError)
 Ошибки авторизационного сервиса


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-identity-v1-AuthServiceError-auth"></a> [auth](#keyapis-identity-v1-AuthServiceError-auth) | Ошибки авторизационного сервиса |  optional  [keyapis.identity.v1.AuthServiceError.AuthError](#keyapis-identity-v1-AuthServiceError-AuthError) | <nil>|






<a name="keyapis-identity-v1-AuthServiceError-AuthError"></a>


### [AuthServiceError.AuthError](#keyapis-identity-v1-AuthServiceError-AuthError)
 Ошибки авторизационного сервиса






<a name="keyapis-identity-v1-GetOauth2ConsentRequest"></a>


### [GetOauth2ConsentRequest](#keyapis-identity-v1-GetOauth2ConsentRequest)
 Запрос соглашения пользователя по процедуре OAuth2


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-identity-v1-GetOauth2ConsentRequest-consent_challenge"></a> [consent_challenge](#keyapis-identity-v1-GetOauth2ConsentRequest-consent_challenge) | Идентификатор текущей попытки запроса соглашения пользователя |    [string](#scalar-types) | REQUIRED|






<a name="keyapis-identity-v1-GetOauth2ConsentResponse"></a>


### [GetOauth2ConsentResponse](#keyapis-identity-v1-GetOauth2ConsentResponse)
 Ответ на запрос соглашения пользователя по процедуре OAuth2


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-identity-v1-GetOauth2ConsentResponse-error"></a> [error](#keyapis-identity-v1-GetOauth2ConsentResponse-error) | Ошибка |  optional  [keyapis.identity.v1.GetOauth2ConsentResponse.Error](#keyapis-identity-v1-GetOauth2ConsentResponse-Error) | <nil>|






<a name="keyapis-identity-v1-GetOauth2ConsentResponse-Error"></a>


### [GetOauth2ConsentResponse.Error](#keyapis-identity-v1-GetOauth2ConsentResponse-Error)
 Ошибка запроса авторизации пользователя


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-identity-v1-GetOauth2ConsentResponse-Error-auth_service"></a> [auth_service](#keyapis-identity-v1-GetOauth2ConsentResponse-Error-auth_service) | Ошибки авторизационного сервиса |  optional  [keyapis.identity.v1.AuthServiceError](#keyapis-identity-v1-AuthServiceError) | <nil>|






<a name="keyapis-identity-v1-PostOauth2LoginByCodeRequest"></a>


### [PostOauth2LoginByCodeRequest](#keyapis-identity-v1-PostOauth2LoginByCodeRequest)
 Запрос на авторизацию по ОТП-коду


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-identity-v1-PostOauth2LoginByCodeRequest-code_id"></a> [code_id](#keyapis-identity-v1-PostOauth2LoginByCodeRequest-code_id) | Идентификатор ОТП-кода |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-identity-v1-PostOauth2LoginByCodeRequest-code"></a> [code](#keyapis-identity-v1-PostOauth2LoginByCodeRequest-code) | Значение ОТП-кода |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-identity-v1-PostOauth2LoginByCodeRequest-login_challenge"></a> [login_challenge](#keyapis-identity-v1-PostOauth2LoginByCodeRequest-login_challenge) | Идентификатор текущей попытки логина пользователя |    [string](#scalar-types) | REQUIRED|






<a name="keyapis-identity-v1-PostOauth2LoginByCodeResponse"></a>


### [PostOauth2LoginByCodeResponse](#keyapis-identity-v1-PostOauth2LoginByCodeResponse)
 Ответ на запрос об авторизации пользователя


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-identity-v1-PostOauth2LoginByCodeResponse-error"></a> [error](#keyapis-identity-v1-PostOauth2LoginByCodeResponse-error) | Ошибка |  optional  [keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error](#keyapis-identity-v1-PostOauth2LoginByCodeResponse-Error) | <nil>|






<a name="keyapis-identity-v1-PostOauth2LoginByCodeResponse-Error"></a>


### [PostOauth2LoginByCodeResponse.Error](#keyapis-identity-v1-PostOauth2LoginByCodeResponse-Error)
 Ошибка запроса авторизации пользователя


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-identity-v1-PostOauth2LoginByCodeResponse-Error-otp_code"></a> [otp_code](#keyapis-identity-v1-PostOauth2LoginByCodeResponse-Error-otp_code) | Ошибка отп-кода |  optional  [keyapis.identity.v1.OtpCode.Error](#keyapis-identity-v1-OtpCode-Error) | <nil>|
| <a id="keyapis-identity-v1-PostOauth2LoginByCodeResponse-Error-sso"></a> [sso](#keyapis-identity-v1-PostOauth2LoginByCodeResponse-Error-sso) | Ошибка из ССО |  optional  [keyapis.identity.v1.SsoError](#keyapis-identity-v1-SsoError) | <nil>|
| <a id="keyapis-identity-v1-PostOauth2LoginByCodeResponse-Error-key"></a> [key](#keyapis-identity-v1-PostOauth2LoginByCodeResponse-Error-key) | Ошибки сервисов ключа |  optional  [keyapis.identity.v1.KeyError](#keyapis-identity-v1-KeyError) | <nil>|
| <a id="keyapis-identity-v1-PostOauth2LoginByCodeResponse-Error-auth_service"></a> [auth_service](#keyapis-identity-v1-PostOauth2LoginByCodeResponse-Error-auth_service) | Ошибки авторизационного сервиса |  optional  [keyapis.identity.v1.AuthServiceError](#keyapis-identity-v1-AuthServiceError) | <nil>|






<a name="keyapis-identity-v1-PostOauth2LoginByPasswordRequest"></a>


### [PostOauth2LoginByPasswordRequest](#keyapis-identity-v1-PostOauth2LoginByPasswordRequest)
 Запрос на авторизацию по паролю


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-identity-v1-PostOauth2LoginByPasswordRequest-phone_number"></a> [phone_number](#keyapis-identity-v1-PostOauth2LoginByPasswordRequest-phone_number) | Номер телефона |  optional  [string](#scalar-types) | <nil>|
| <a id="keyapis-identity-v1-PostOauth2LoginByPasswordRequest-email"></a> [email](#keyapis-identity-v1-PostOauth2LoginByPasswordRequest-email) | Электронная почта |  optional  [string](#scalar-types) | <nil>|
| <a id="keyapis-identity-v1-PostOauth2LoginByPasswordRequest-login"></a> [login](#keyapis-identity-v1-PostOauth2LoginByPasswordRequest-login) | Логин |  optional  [string](#scalar-types) | <nil>|
| <a id="keyapis-identity-v1-PostOauth2LoginByPasswordRequest-password"></a> [password](#keyapis-identity-v1-PostOauth2LoginByPasswordRequest-password) | Пароль |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-identity-v1-PostOauth2LoginByPasswordRequest-captcha_answer"></a> [captcha_answer](#keyapis-identity-v1-PostOauth2LoginByPasswordRequest-captcha_answer) | Ответ на капчу |    [keyapis.identity.v1.CaptchaAnswer](#keyapis-identity-v1-CaptchaAnswer) | OPTIONAL|
| <a id="keyapis-identity-v1-PostOauth2LoginByPasswordRequest-login_challenge"></a> [login_challenge](#keyapis-identity-v1-PostOauth2LoginByPasswordRequest-login_challenge) | Идентификатор текущей попытки логина пользователя |    [string](#scalar-types) | REQUIRED|






<a name="keyapis-identity-v1-PostOauth2LoginByPasswordResponse"></a>


### [PostOauth2LoginByPasswordResponse](#keyapis-identity-v1-PostOauth2LoginByPasswordResponse)
 Ответ на запрос об авторизации по паролю пользователя


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-identity-v1-PostOauth2LoginByPasswordResponse-error"></a> [error](#keyapis-identity-v1-PostOauth2LoginByPasswordResponse-error) | Ошибка |  optional  [keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error](#keyapis-identity-v1-PostOauth2LoginByPasswordResponse-Error) | <nil>|






<a name="keyapis-identity-v1-PostOauth2LoginByPasswordResponse-Error"></a>


### [PostOauth2LoginByPasswordResponse.Error](#keyapis-identity-v1-PostOauth2LoginByPasswordResponse-Error)
 Ошибка запроса авторизации пользователя


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-identity-v1-PostOauth2LoginByPasswordResponse-Error-captcha_answer"></a> [captcha_answer](#keyapis-identity-v1-PostOauth2LoginByPasswordResponse-Error-captcha_answer) | Ошибка капчи |  optional  [keyapis.identity.v1.CaptchaAnswer.Error](#keyapis-identity-v1-CaptchaAnswer-Error) | <nil>|
| <a id="keyapis-identity-v1-PostOauth2LoginByPasswordResponse-Error-sso"></a> [sso](#keyapis-identity-v1-PostOauth2LoginByPasswordResponse-Error-sso) | Ошибка из ССО |  optional  [keyapis.identity.v1.SsoError](#keyapis-identity-v1-SsoError) | <nil>|
| <a id="keyapis-identity-v1-PostOauth2LoginByPasswordResponse-Error-key"></a> [key](#keyapis-identity-v1-PostOauth2LoginByPasswordResponse-Error-key) | Ошибки сервисов ключа |  optional  [keyapis.identity.v1.KeyError](#keyapis-identity-v1-KeyError) | <nil>|
| <a id="keyapis-identity-v1-PostOauth2LoginByPasswordResponse-Error-auth_service"></a> [auth_service](#keyapis-identity-v1-PostOauth2LoginByPasswordResponse-Error-auth_service) | Ошибки авторизационного сервиса |  optional  [keyapis.identity.v1.AuthServiceError](#keyapis-identity-v1-AuthServiceError) | <nil>|





 <!-- end messages -->

 <!-- end enums -->

 <!-- end HasExtensions -->



## Скалярные типы значений
<a id="scalar-types"></a>

| .proto Type | Примечание | Python | Go | Ruby | C# | C++ | Java | PHP |
| ----------- | ---------- | ------ | -- | ---- | -- | --- | ---- | --- |
| [double](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | float | float64 | Float | double | double | double | float |
| [float](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | float | float32 | Float | float | float | float | float |
| [int32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| [int64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| [uint32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. | int/long | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| [uint64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. | int/long | uint64 | Bignum or Fixnum (as required) | ulong | uint64 | long | integer/string |
| [sint32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| [sint64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| [fixed32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | int | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| [fixed64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | int/long | uint64 | Bignum | ulong | uint64 | long | integer/string |
| [sfixed32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always four bytes. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| [sfixed64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always eight bytes. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| [bool](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | boolean | bool | TrueClass/FalseClass | bool | bool | boolean | boolean |
| [string](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | A string must always contain UTF-8 encoded or 7-bit ASCII text. | str/unicode | string | String (UTF-8) | string | string | String | string |
| [bytes](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | May contain any arbitrary sequence of bytes. | str | []byte | String (ASCII-8BIT) | ByteString | string | ByteString | string |

