Связывание Google Assistant с Firebase Auth

Я пытаюсь подключить приложение Google Assistant с помощью DialogFlow (Api.AI) с Firebase Auth. Мое приложение использует Firebase Auth для поддержки учетных записей пользователей и базу данных в реальном времени для хранения данных. Я хотел бы иметь возможность вносить изменения в данные пользователя через Google Assistant, возможно, используя что-то вроде облачной функции. Чтобы внести какие-либо изменения в пользователя через Google Assistant, мне нужно связать учетную запись пользователя Google Assistant с его учетной записью Firebase Auth. Текущий механизм, похоже, использует поток OAuth, задокументированный здесь.

У меня вопрос: как лучше всего этого добиться? Нужно ли мне настраивать собственный сервер OAuth? На облачном веб-сайте Google есть много документации по OAuth, но, похоже, все это связано с использованием OAuth для доступа к API Google, и я действительно не вижу простого способа разместить этот механизм связывания в GCP.

Есть довольно близкий этот вопрос, но разница в том, что у меня нет внешнего API, я просто хочу аутентифицировать своего пользователя и иметь возможность изменять его данные в базе данных реального времени.

Спасибо за помощь!


comment
Этот ответ здесь отвечает на ваш вопрос? stackoverflow.com / questions / 42916987 /   -  person Wayne Piekarski    schedule 24.10.2017


Ответы (1)


вот пример: https://github.com/malikasinger1/Quiz-Assistant у меня есть сделал это сам, следуя лучшим практикам, не стесняйтесь комментировать, если вы чего-то не понимаете.

person Inzamam Malik    schedule 14.10.2017
comment
Конечно, вы можете объяснить, в чем заключается ваша установка? Мой Angular не так уж и популярен: вы создали собственный сервер OAuth в качестве веб-компонента и берете на себя ответственность за его привязку к уже существующему пользователю аутентификации Firebase? Итак, архитектурно: Ассистент - (аутентифицирует oauth) ›Викторина - (связывает пользователя FB)› Firebase? - person Estel; 15.10.2017
comment
Спасибо тебе за видео. Глядя на код, как и в комментаторе выше, я предполагаю, что вы настроили собственный сервер OAuth. Не могли бы вы немного подробнее описать эту часть вашего решения? Спасибо! - person Zomb; 16.10.2017
comment
нет настраиваемой аутентификации, все это firebase auth создал веб-страницу, размещенную на firebase, на этой странице (как вы можете видеть) loginWithEmail.then(getid token and redirect), с перенаправлением привязки учетной записи помощника будет завершено на каждом запросе, помощник будет сохранять этот токен идентификатора на сервере / веб-перехватчике (который функция firebase) просто проверьте этот токен идентификатора с помощью администратора firebase, метод проверки предоставит вам адрес электронной почты с именем uid и т. д., и вот - person Inzamam Malik; 17.10.2017