Как создать пользователя в firebase из action.google.com Streamlined Identity Flows

Я нахожусь в процессе создания помощника Google для приложения Firebase. В процессе я хочу внедрить упрощенные потоки идентификации и создать пользователи моего приложения firebase, когда они дают согласие через поток.

Но загвоздка в том, что я должен создать пользователя firebase с помощью

// Build Firebase credential with the Google ID token.
var credential = firebase.auth.GoogleAuthProvider.credential(id_token);

// Sign in with credential from the Google user.
firebase.auth().signInWithCredential(credential).catch(function(err) {...});

Но для этого мне понадобится id_token, который я не получу из потока утверждений. Все, что я получаю от потока утверждений, - это уникальный идентификатор пользователя Google.

Чтобы получить id_token, кажется, мне нужно передать области как openid email profile. Прошел Openid Connect, но не смог понять, следует ли мне реализовать этот процесс. в конечной точке token? если да, то каковы будут намерения в таком потоке?


person Phani    schedule 07.06.2017    source источник
comment
Если я получаю право id_token из потока утверждений, это имеет больше смысла, потому что пользователь уже одобрил мое приложение для доступа к своей учетной записи Google! Но я не вижу этого в документации (раздел: Создание новых учетных записей из утверждений JWT) в developers.google.com/actions/identity/oauth2-assertion-flow.   -  person Phani    schedule 07.06.2017


Ответы (1)


Вы можете использовать библиотеку NodeJS jsonwebtoken для декодирования предоставленного токена идентификатора, как описано в Страница Assertion Flows", чтобы получить адрес электронной почты, а затем позвонить

adminSDK.auth().getUserByEmail()

or

Создать пользователя()

при необходимости это создаст пользователей для вас

person Ahmed Mounir    schedule 07.06.2017