Настройка связки аккаунтов
В разделе приведены рекомендации:
Настройка авторизационного сервера
Убедитесь, что авторизационный сервер, который вы используете, удовлетворяет требованиям Диалогов:
- Авторизационный сервер должен работать в соответствии с RFC.
- Сервер должен обрабатывать обязательные параметры, аутентифицировать пользователей и генерировать авторизационный код
code
. - После того как пользователь был аутентифицирован на сервере авторизации, сервер должен перенаправлять OAuth-приложение (приложение для Алисы) на URL: https://social.yandex.net/broker/redirect (redirection endpoint). В параметрах запроса сервер авторизации должен передавать авторизационный код
code
, а также другие параметры. Подробнее см. в разделе Как устроен процесс авторизации в навыке. - URL для получения токена должен уметь идентифицировать OAuth-приложение и генерировать OAuth-токен (опционально — также refresh-токен) для переданного кода авторизации.
Кроме собственного сервера авторизации, для аутентификации пользователей Яндекса вы можете использовать API Яндекс.Паспорта.
Использование refresh-токенов
Если используются refresh-токены, Диалоги будут автоматически обновлять токены доступа. Когда срок действия OAuth-токена истекает, Диалоги отправляют запрос на сервер авторизации за новым токеном.
Обратите внимание — сервер авторизации должен отдавать обновленный токен в течение 5 секунд. Если сервер не ответит за это время, Диалоги отправят повторный запрос. Если через 5 секунд от сервера снова не придет ответ, связка аккаунтов будет разорвана. Пользователю потребуется повторно связать аккаунты.
Подробнее про refresh-токены см. в спецификации к OAuth 2.0.
Создание связки аккаунтов
Чтобы создать связку аккаунтов, откройте консоль разработчика и перейдите на страницу навыка. Во вкладке «Настройки» прокрутите вниз до раздела «Связка аккаунтов» и нажмите кнопку Создать.
Ниже приведено описание полей:
Идентификатор приложения — идентификатор OAuth-приложения на сервере авторизации (например,
4760187d41bc4b7799476b42b5103213
).- Секрет приложения — пароль OAuth-приложения на сервере авторизации (например,
f25bebr991ff419893db655428e4e1de
). - URL авторизации — страница, на которой должен авторизоваться пользователь, чтобы разрешить навыку доступ к своему аккаунту (например,
https://oauth-server.com/oauth/login
). - URL для получения токена — адрес, на который следует отправить запрос с авторизационным кодом, чтобы получить OAuth-токен доступа (например,
https://skill-example/token
). - URL для обновления токена — адрес для обновления полученного OAuth-токена (например,
https://oauth-server.com/refresh
). - Идентификатор группы действий — список разрешений, которые следует выдавать для запрашиваемых OAuth-токенов (например, для умного дома
home:lights
). Если нужно указать несколько разрешений, то их следует перечислять через «&».