Авторизация навыка умного дома через Паспорт: различия между версиями
Содержание
Decole (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
| Строка 1: | Строка 1: | ||
{{metadesc | Используем Паспорт вместо собственного oAuth2 }} | |||
__NOEDITSECTION__ | |||
__TOC__ | |||
== Проблема == | |||
При подключении приватного навыка УДЯ к стороннему сервису (собственное приложение, OpenHub, majordomo, итд) необходимо пройти шаг "Привязка аккаунта". | |||
К сожалению, [https://yandex.ru/dev/dialogs/alice/doc/auth/authorization-flow-docpage/#authorization-flow в документации] этот процесс сопряжения учетной записи Яндекса описан в общих чертах. Реализовать собственный oAuth2 сервис авторизации и аутентификации - дело непростое, со своими подводными камнями. Что делать? | |||
== Решение == | |||
По счастью, есть отличное решение: использовать для сопряжения '''сервис Яндекс.Паспорт'''. | |||
Далее описывается именно этот способ привязки аккаунта, взятый из комьюнити: | |||
# Заходим на [https://oauth.yandex.ru/ oauth.yandex.ru], создаем новое "приложение" | |||
# В приложении выбираем "веб-сервис" и ставим callback url https://social.yandex.net/broker/redirect | |||
# Указываем минимальные права: просмотр email-адреса (чтобы сервис дал сохранить настройки) | |||
# Сохраняем. Видим хэши, ID и пароль ("Секрет"). | |||
Теперь переходим на страницу связки аккаунтов в Диалогах и вставляем данные по примеру картинки ниже: | |||
[[Файл:Photo 2020-06-12 20-03-30.jpg|450px]] | |||
Не забываем указать "Идентификатор приложения" и "Секрет приложения" (из нашего "приложения" в [https://oauth.yandex.ru Яндекс.Паспорте]). | |||
"Приложение" в Яндекс.Паспорте будет выглядеть примерно так: | |||
<pre> | <pre> | ||
<Название "приложения"> | <Название "приложения"> | ||
Права: | Права: | ||
Доступ к логину, имени и фамилии, полу | Доступ к логину, имени и фамилии, полу | ||
Доступ к адресу электронной почты | |||
ID: *************** <- (ID из настроек Яндекс.Паспорта) | |||
Пароль: *********** <- (Секрет из настроек Яндекс.Паспорта) | |||
Callback URL: https://social.yandex.net/broker/redirect | Callback URL: https://social.yandex.net/broker/redirect | ||
Время жизни токена: Не менее, чем 1 год | Время жизни токена: Не менее, чем 1 год | ||
Дата создания: 6/12/2020 | Дата создания: 6/12/2020 | ||
</pre> | </pre> | ||
<pre class="red"> | |||
ВНИМАНИЕ! На момент создания страницы неизвестно, будет ли при таком подключении самостоятельно обновляться токен. | |||
</pre> | |||
[[Category:Умный дом]] | |||
Версия от 10:57, 22 июня 2020
Проблема
При подключении приватного навыка УДЯ к стороннему сервису (собственное приложение, OpenHub, majordomo, итд) необходимо пройти шаг "Привязка аккаунта".
К сожалению, в документации этот процесс сопряжения учетной записи Яндекса описан в общих чертах. Реализовать собственный oAuth2 сервис авторизации и аутентификации - дело непростое, со своими подводными камнями. Что делать?
Решение
По счастью, есть отличное решение: использовать для сопряжения сервис Яндекс.Паспорт.
Далее описывается именно этот способ привязки аккаунта, взятый из комьюнити:
- Заходим на oauth.yandex.ru, создаем новое "приложение"
- В приложении выбираем "веб-сервис" и ставим callback url https://social.yandex.net/broker/redirect
- Указываем минимальные права: просмотр email-адреса (чтобы сервис дал сохранить настройки)
- Сохраняем. Видим хэши, ID и пароль ("Секрет").
Теперь переходим на страницу связки аккаунтов в Диалогах и вставляем данные по примеру картинки ниже:
Не забываем указать "Идентификатор приложения" и "Секрет приложения" (из нашего "приложения" в Яндекс.Паспорте).
"Приложение" в Яндекс.Паспорте будет выглядеть примерно так:
<Название "приложения"> Права: Доступ к логину, имени и фамилии, полу Доступ к адресу электронной почты ID: *************** <- (ID из настроек Яндекс.Паспорта) Пароль: *********** <- (Секрет из настроек Яндекс.Паспорта) Callback URL: https://social.yandex.net/broker/redirect Время жизни токена: Не менее, чем 1 год Дата создания: 6/12/2020
ВНИМАНИЕ! На момент создания страницы неизвестно, будет ли при таком подключении самостоятельно обновляться токен.