ВебмастерМетрикаВиджетыРекламная сетьДиректПоиск для сайтаAPI
Войти

Получение токена по логину и паролю пользователя

Внимание!

Не рекомендуется использовать этот способ получения токена, так как он требует от пользователя указывать свои данные для авторизации в явном виде.

В данном способе получения токена страница запроса доступа не используется и редирект не осуществляется.

Чтобы получить токен по логину и паролю пользователя, приложение должно отправить POST-запрос на https://oauth.yandex.ru/token. В запросе необходимо передать логин и пароль пользователя, а также идентификатор и пароль
[no-highlight[

Пароль приложения генерируется OAuth-сервером при регистрации приложения и отображается на странице информации о приложении. Также пароль можно сгенерировать на странице редактирования свойств приложения.

]no-highlight]
приложения.

При этом передать идентификатор и пароль приложения можно любым из двух способов:

Внимание!
Все запросы к OAuth-серверу должны передаваться по протоколу HTTPS.

В теле запроса

POST /token HTTP/1.1
Host: oauth.yandex.ru
Content-type: application/x-www-form-urlencoded
Content-Length: <length>

grant_type=password&username=<username>&password=<password>&client_id=<client_id>&client_secret=<client_secret>

Параметры запроса:

С использованием базовой HTTP-авторизации

POST /token HTTP/1.1
Host: oauth.yandex.ru
Content-type: application/x-www-form-urlencoded
Content-Length: <length>
Authorization: Basic <base64-encoded-string>

grant_type=password&username=<username>&password=<password>
В заголовке Authorization передается строка <client_id>:<client_secret>, закодированная методом base64. Здесь <client_id> — идентификатор приложения, <client_secret> пароль приложения
[no-highlight[

Пароль приложения генерируется OAuth-сервером при регистрации приложения и отображается на странице информации о приложении. Также пароль можно сгенерировать на странице редактирования свойств приложения.

]no-highlight]
.

В теле запроса указываются параметры:

  • grant_type = password;
  • username = <username> ― логин пользователя на Яндексе;
  • password = <password> ― пароль к учетной записи пользователя на Яндексе.

Указывать параметр client_id в теле запроса не нужно, так как идентификатор приложения уже содержится в заголовке Authorization.

Ответ сервера

В случае успеха OAuth-сервер передает данные как JSON-документ. Пример:

200 OK
Content-type: application/json
Content-Length: 76

{"access_token": "ea135929105c4f29a0f5117d2960926f", "expires_in": 2592000}

Параметры ответа:

access_token

Токен, с которым приложение может работать от имени пользователя.

expires_in

Срок службы токена. Значение указывается в секундах.

Параметр передается только в том случае, если срок службы токена ограничен.

В случае ошибки OAuth-сервер передает параметр

error

Код ошибки:

  • invalid_request ― неверный формат запроса.
  • invalid_grant ― неверный логин и/или пароль.
  • unsupported_grant_type ― неверное значение параметра grant_type.