Документация
 Ctrl Предыдущая

Переход к API Паспорта от OpenID

Идентификаторы OpenID, провайдером которых является Яндекс, перестанут работать 10 августа 2015 года. Авторизоваться на других сайтах с аккаунтом Яндекса можно будет с помощью нового и более безопасного API Паспорта.

Пользователям

После 10 августа вы сможете входить на другие сайты через Яндекс, только если разработчик сайта правильно реализовал переход от OpenID. Если вы не можете войти на сайт с аккаунтом Яндекса, обратитесь в службу поддержки сайта.

На всякий случай до 10 августа стоит получить прямой доступ к аккаунту (без использования OpenID) одним из следующих способов:

  • начать использовать полноценный аккаунт (например, Живой Журнал позволяет дорегистрировать аккаунт, связанный с OpenID-идентификатором);

  • восстановить пароль;

  • обратиться в службу поддержки.

Разработчикам сайтов и вебмастерам

Пользователи, которые входят на ваш сайт с OpenID Яндекса, 10 августа потеряют эту возможность. Вы можете авторизовать таких пользователей с помощью API Паспорта.

API также поможет предоставить пользователям доступ к старым аккаунтам, привязанным к OpenID. Для этого, подключив API Паспорта, нужно специальным образом обрабатывать вход:

  1. Если пользователь вручную вводит OpenID-идентификатор Яндекса, сообщите, что войти таким образом больше нельзя, и предложите войти с помощью API Паспорта. Идентификаторы Яндекса можно узнать по домену в URL: yandex.ru или ya.ru.

    Если пользователь просто нажимает на кнопку входа через Яндекс, авторизуйте его через API Паспорта.

  2. Запросите OAuth-токен для доступа к данным пользователя.

  3. Запросите нужные данные через API Паспорта. Чтобы получить возможные OpenID-идентификаторы пользователя, передайте также параметр with_openid_identity.

  4. Ищите каждый OpenID-идентификатор из полученного списка в вашей базе данных аккаунтов:

    • Если ни одного аккаунта с полученными OpenID-идентификаторами не нашлось, просто авторизуйте пользователя с помощью API Паспорта.

    • Если нашелся один аккаунт, свяжите его с идентификатором учетной записи в Яндексе (элемент id в ответе API Паспорта). Затем используйте API, чтобы авторизовать пользователя.

    • Если нашлось несколько аккаунтов с полученными OpenID-идентификаторами, предложите пользователю выбрать тот, с которым он хочет авторизоваться. Выбранный аккаунт свяжите с идентификатором учетной записи в Яндексе, а затем авторизуйте пользователя с помощью API Паспорта.

Таким образом пользователь сможет входить на ваш сайт через Яндекс, а вы при первой необходимости привяжете данные старого OpenID-аккаунта к уникальному идентификатору пользователя Яндекса.