Перейти к содержанию

Авторизация навыка умного дома через Паспорт: различия между версиями

Материал из Wiki yaboard
Содержание
Нет описания правки
Нет описания правки
 
(не показано 6 промежуточных версий 2 участников)
Строка 1: Строка 1:
'''Задача''': частный навык Умного Дома Яндекса прикрутить к своему приложению.
{{metadesc | Лайфхак: Паспорт вместо собственного oAuth }}
__NOEDITSECTION__
__TOC__


'''Проблема''': Для использования навыка нужно пройти "Привязку аккаунта"


{{Unofficial}}


Разрабатывать собственные сервисы как описано это в документации затруднительно.
== Проблема ==


[https://yandex.ru/dev/dialogs/alice/doc/auth/authorization-flow-docpage/#authorization-flow документация Яндекса по авторизации навыка Умного дома]


Но в документации описано, что данный функционал есть у Яндекс.Паспорт. Через него мы и настроим "Привязку аккаунта"
При подключении приватного навыка УДЯ к стороннему сервису (собственное приложение, OpenHub, majordomo, итд) необходимо пройти шаг "Привязка аккаунта".


Цитата безымянного героя:
К сожалению, [https://yandex.ru/dev/dialogs/alice/doc/auth/authorization-flow-docpage/#authorization-flow в документации] этот процесс сопряжения учетной записи Яндекса описан в общих чертах. Реализовать собственный сервис авторизации и аутентификации oAuth2 - дело непростое, со своими подводными камнями. Что делать?
<pre>
 
По Я.Паспорту вообще ничего особо делать не надо:
 
1) заходим на [https://oauth.yandex.ru/ oauth.yandex.ru], создаем новое "приложение"
== Решение ==
2) в этом приложении выбираем "веб-сервис" и ставим callback url https://social.yandex.net/broker/redirect
 
так же указываем минимальные права - просмотр email адреса (это нужно, чтобы сервис дал Сохранить настройки)
 
3) Жмакаем сохранить, видим хэши ID и Пароль
По счастью, есть отличное решение: использовать для сопряжения '''сервис Яндекс.Паспорт'''.
4) Идём на страницу связки аккаунтов в диалогах, вставляем данные как на картинке ниже
 
</pre>
Далее описывается именно этот способ привязки аккаунта, взятый из комьюнити:
 
# Заходим на [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]]


[[Файл:Photo 2020-06-12 20-03-30.jpg|мини]]


Еще нужно вбить в настройки Идентификатор приложения и Секрет приложения c созданного нового "приложения" Яндекс.Паспорта (oauth.yandex.ru)
Не забываем указать "Идентификатор приложения" и "Секрет приложения" (из нашего "приложения" в [https://oauth.yandex.ru Яндекс.Паспорте]).


Пример созданного "приложения" в Яндекс.Паспорте:
"Приложение" в Яндекс.Паспорте будет выглядеть примерно так:
<pre>
<pre>
<Название "приложения">
<Название "приложения">
Права:
Права:
Доступ к логину, имени и фамилии, полу
Доступ к логину, имени и фамилии, полу
Доступ к адресу электронной почты


Доступ к адресу электронной почты
ID: ***************  <- (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:Умный дом]]
[[Category:Решение проблем]]

Текущая версия от 05:52, 23 ноября 2020

Неофициальная информация Методы и программы могут перестать функционировать в любой момент
...а также повредить оборудование и/или нарушить работу систем.
Любые действия и программы вы применяете на свой собственный страх и риск.

Проблема

При подключении приватного навыка УДЯ к стороннему сервису (собственное приложение, OpenHub, majordomo, итд) необходимо пройти шаг "Привязка аккаунта".

К сожалению, в документации этот процесс сопряжения учетной записи Яндекса описан в общих чертах. Реализовать собственный сервис авторизации и аутентификации oAuth2 - дело непростое, со своими подводными камнями. Что делать?

Решение

По счастью, есть отличное решение: использовать для сопряжения сервис Яндекс.Паспорт.

Далее описывается именно этот способ привязки аккаунта, взятый из комьюнити:

  1. Заходим на oauth.yandex.ru, создаем новое "приложение"
  2. В приложении выбираем "веб-сервис" и ставим callback url https://social.yandex.net/broker/redirect
  3. Указываем минимальные права: просмотр email-адреса (чтобы сервис дал сохранить настройки)
  4. Сохраняем. Видим хэши, ID и пароль ("Секрет").

Теперь переходим на страницу связки аккаунтов в Диалогах и вставляем данные по примеру картинки ниже:


Не забываем указать "Идентификатор приложения" и "Секрет приложения" (из нашего "приложения" в Яндекс.Паспорте).

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

<Название "приложения">
Права:
 Доступ к логину, имени и фамилии, полу
 Доступ к адресу электронной почты

ID: ***************  <- (ID из настроек Яндекс.Паспорта)
Пароль: ***********  <- (Секрет из настроек Яндекс.Паспорта)

Callback URL: https://social.yandex.net/broker/redirect

Время жизни токена: Не менее, чем 1 год
Дата создания: 6/12/2020
 ВНИМАНИЕ! На момент создания страницы неизвестно (и не проверялось), будет ли при таком подключении самостоятельно обновляться токен.
 
 Поддержка данный метод не рекомендует. Предлагаем использовать в качестве быстрого, но временного решения.