Протокол¶
Оглавление¶
-
keyapis/identity/v1/keyapis_identity_authorization_v1.proto
- CaptchaAnswer
- CaptchaAnswer.Error
- CaptchaAnswer.Error.WrongAnswer
- KeyError
- KeyError.UserCreation
- OtpCode
- OtpCode.Error
- OtpCode.Error.AddressNotFound
- OtpCode.Error.InvalidCode
- OtpCode.Error.LifeTimeExpired
- OtpCode.Error.NoAttempts
- PostAuthorizationLoginByPasswordRequest
- PostAuthorizationLoginByPasswordResponse
- PostAuthorizationLoginByPasswordResponse.Error
- PostAuthorizationLoginRequest
- PostAuthorizationLoginResponse
- PostAuthorizationLoginResponse.Error
- PostAuthorizationSendCodeRequest
- PostAuthorizationSendCodeResponse
- PostAuthorizationSendCodeResponse.Error
- SsoError
- SsoError.IntervalExceeded
- SsoError.UserIsBlocked
- SsoError.UserIsTemporaryBlocked
- SsoError.UserNotFound
- SsoError.WrongCredentials
- UserToken
Схема классов¶
keyapis/identity/v1/keyapis_identity_authorization_v1.proto¶
Сервис предоставляет возможность авторизации
AuthorizationService¶
Сервис авторизации пользователей
| Название метода | Описание | Тип запроса | Тип ответа |
|---|---|---|---|
| PostAuthorizationLogin | Метод авторизации по ОТП-коду. Не требует авторизации | keyapis.identity.v1.PostAuthorizationLoginRequest | keyapis.identity.v1.PostAuthorizationLoginResponse |
| PostAuthorizationSendCode | Метод запроса ОТП-кода. Не требует авторизации | keyapis.identity.v1.PostAuthorizationSendCodeRequest | keyapis.identity.v1.PostAuthorizationSendCodeResponse |
| PostAuthorizationLoginByPassword | Метод авторизации по паролю. Не требует авторизации | keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest | keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse |
Captcha¶
Капча
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор капчи | string | REQUIRED |
| url | Ссылка на капчу | string | REQUIRED |
CaptchaAnswer¶
Ответ на капчу
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор капчи | string | REQUIRED |
| code | Ответ на капчу | string | REQUIRED |
CaptchaAnswer.Error¶
Ошибка ответа на капчу
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| wrong_answer | Некорректный ответ на капчу | optional keyapis.identity.v1.CaptchaAnswer.Error.WrongAnswer | |
| captcha | Капча | keyapis.identity.v1.Captcha |
CaptchaAnswer.Error.WrongAnswer¶
Некорректный ответ на капчу
KeyError¶
Ошибки сервисов ключа
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| user_creation | Ошибка создания пользователя | optional keyapis.identity.v1.KeyError.UserCreation |
KeyError.UserCreation¶
Ошибка создания пользователя
OtpCode¶
Информация о вводе ОТП-кода
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| code_id | Идентификатор ОТП-кода | string | REQUIRED |
| timeout | Время в секундах, оставшееся до возможности отправки следующего кода | int32 | REQUIRED |
OtpCode.Error¶
Ошибка ответа на капчу
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| life_time_expired | Код истек | optional keyapis.identity.v1.OtpCode.Error.LifeTimeExpired | |
| no_attempts | Попыток больше нет | optional keyapis.identity.v1.OtpCode.Error.NoAttempts | |
| address_not_found | Адрес для отправки кода не найден. В текущей реализации, эту ошибку невозможно получить | optional keyapis.identity.v1.OtpCode.Error.AddressNotFound | |
| invalid_code | Неправильный ОТП-код | optional keyapis.identity.v1.OtpCode.Error.InvalidCode |
OtpCode.Error.AddressNotFound¶
Адрес для отправки кода не найден
OtpCode.Error.InvalidCode¶
Неправильный ОТП-код
OtpCode.Error.LifeTimeExpired¶
Код истек
OtpCode.Error.NoAttempts¶
Попыток больше нет
PostAuthorizationLoginByPasswordRequest¶
Запрос на авторизацию по паролю
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| phone_number | Номер телефона | optional string | |
| Электронная почта | optional string | ||
| login | Логин | optional string | |
| password | Пароль | string | REQUIRED |
| captcha_answer | Ответ на капчу | keyapis.identity.v1.CaptchaAnswer | OPTIONAL |
PostAuthorizationLoginByPasswordResponse¶
Ответ на запрос об авторизации по паролю пользователя
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Токен пользователя | optional keyapis.identity.v1.UserToken | |
| error | Ошибка | optional keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error |
PostAuthorizationLoginByPasswordResponse.Error¶
Ошибка запроса авторизации пользователя
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| captcha_answer | Ошибка капчи | optional keyapis.identity.v1.CaptchaAnswer.Error | |
| sso | Ошибка из ССО | optional keyapis.identity.v1.SsoError | |
| key | Ошибка из сервисов ключа | optional keyapis.identity.v1.KeyError |
PostAuthorizationLoginRequest¶
Запрос на авторизацию по ОТП-коду
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| code_id | Идентификатор ОТП-кода | string | REQUIRED |
| code | Значение ОТП-кода | string | REQUIRED |
PostAuthorizationLoginResponse¶
Ответ на запрос об авторизации пользователя
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Токен пользователя | optional keyapis.identity.v1.UserToken | |
| error | Ошибка | optional keyapis.identity.v1.PostAuthorizationLoginResponse.Error |
PostAuthorizationLoginResponse.Error¶
Ошибка запроса авторизации пользователя
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| otp_code | Ошибка отп-кода | optional keyapis.identity.v1.OtpCode.Error | |
| sso | Ошибка из ССО | optional keyapis.identity.v1.SsoError | |
| key | Ошибка из сервисов ключа | optional keyapis.identity.v1.KeyError |
PostAuthorizationSendCodeRequest¶
Запрос на отправку ОТП-кода
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| phone_number | Номер телефона | optional string | |
| captcha_answer | Ответ на капчу | keyapis.identity.v1.CaptchaAnswer | OPTIONAL |
PostAuthorizationSendCodeResponse¶
Ответ на запрос на отправку ОТП-кода
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Информация об ОТП-коде | optional keyapis.identity.v1.OtpCode | |
| error | Ошибка | optional keyapis.identity.v1.PostAuthorizationSendCodeResponse.Error |
PostAuthorizationSendCodeResponse.Error¶
Ошибка запроса на отправку ОТП-кода
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| captcha_answer | Ошибка ответа с капчей | optional keyapis.identity.v1.CaptchaAnswer.Error | |
| sso | Ошибка из ССО | optional keyapis.identity.v1.SsoError |
SsoError¶
Ошибки из ССО
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| user_is_temporary_blocked | Пользователь временно заблокирован | optional keyapis.identity.v1.SsoError.UserIsTemporaryBlocked | |
| user_not_found | Пользователь не найден | optional keyapis.identity.v1.SsoError.UserNotFound | |
| wrong_credentials | Неверный пароль | optional keyapis.identity.v1.SsoError.WrongCredentials | |
| user_is_blocked | Пользователь заблокирован | optional keyapis.identity.v1.SsoError.UserIsBlocked | |
| interval_exceeded | Превышен интервал отправки ОТП-кодов | optional keyapis.identity.v1.SsoError.IntervalExceeded |
SsoError.IntervalExceeded¶
Превышен интервал отправки ОТП-кодов
SsoError.UserIsBlocked¶
Пользователь заблокирован
SsoError.UserIsTemporaryBlocked¶
Пользователь временно заблокирован
SsoError.UserNotFound¶
Пользователь не найден
SsoError.WrongCredentials¶
Неверный пароль
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| captcha | Капча | keyapis.identity.v1.Captcha | OPTIONAL |
UserToken¶
Информация о токене пользователя
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| access_token | Токен | string | REQUIRED |
| expired_at | Окончание действия токена | google.protobuf.Timestamp | REQUIRED |
Скалярные типы значений¶
| .proto Type | Примечание | Python | Go | Ruby | C# | C++ | Java | PHP |
|---|---|---|---|---|---|---|---|---|
| double | float | float64 | Float | double | double | double | float | |
| float | float | float32 | Float | float | float | float | float | |
| int32 | 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 | 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 | Uses variable-length encoding. | int/long | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| uint64 | Uses variable-length encoding. | int/long | uint64 | Bignum or Fixnum (as required) | ulong | uint64 | long | integer/string |
| sint32 | 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 | 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 | 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 | 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 | Always four bytes. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| sfixed64 | Always eight bytes. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| bool | boolean | bool | TrueClass/FalseClass | bool | bool | boolean | boolean | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | str/unicode | string | String (UTF-8) | string | string | String | string |
| bytes | May contain any arbitrary sequence of bytes. | str | []byte | String (ASCII-8BIT) | ByteString | string | ByteString | string |