| Тип | Описание | Пример |
|---|---|---|
| Android SDK | okauth://ok{app_id} — вместо {app_id} необходимо подставить id приложения | okauth://ok123456 |
| iOS SDK | ok{app_id}://authorize — вместо {app_id} необходимо подставить id приложения | ok123456://authorize |
| External | URI, который будет обрабатывать авторизацию, — можно использовать https://oauth.mycdn.me/blank.html | http://localhost/auth |
| Параметр | Обязательность | Описание |
|---|---|---|
| client_id | Да | Идентификатор приложения application id |
| scope | Да | Запрашиваемые права приложения, разделенные символом ; |
| response_type | Да | Тип ответа от сервера. Укажите token |
| redirect_uri | Да | URI, куда будет передан access_token. Должен посимвольно совпадать с одним из URI, зарегистрированных в настройках приложения. Часть URI после символа ? (query) не учитывается при проверке. Для передачи данных, которые меняются динамически, рекомендуем использовать параметр state |
| layout | Нет | Внешний вид окна авторизации: w – стандартное окно для полной версии сайта, используется по умолчанию, m – окно для мобильной авторизации, a – упрощенное окно для мобильной авторизации без шапки |
| state | Нет | Параметр состояния, который в неизменном виде пробрасывается в redirect_uri. Позволяет передавать произвольные данные между разными фазами OAuth и защищаться от xsrf |
| Параметр | Описание |
|---|---|
| access_token | Токен доступа, который используется для формирования запроса к API |
| session_secret_key | Секретный сессионный ключ, который используется для подписи запроса к API |
| state | Значение, которое было передано в параметре state при открытии диалога авторизации |
| permissions_granted | Права, выданные пользователем приложению |
| expires_in | Время действия токена в секундах |
| Ошибка | Описание |
|---|---|
| invalid_request | Invalid code — передан неверный code; Expired code — время действия code истекло; Wrong redirect_uri — redirect_uri отличается от переданного на этапе OAuth |
| invalid_client | Unknown client — не удалось найти указанное приложение |
| unauthorized_client | Invalid request parameters — указан неверный секретный ключ приложения |
| access_denied | Access denied — пользователь не авторизовал приложение, например, удалил его в настройках; Refresh token expired — время действия refesh_token истекло; Logout all — пользователь вышел со всех устройств |
| invalid_grant | Invalid grant type или Invalid parameters for grant type — не удалось распознать параметр grant_type |
| invalid_token | Session expired — не удалось определить пользователя; Invalid refresh token / Invalid refresh token structure / Invalid refresh token, user not found — refresh_token был передан неверно |