如何通过actions.google.com在firebase上创建用户简化的标识流

时间:2017-06-07 15:05:34

标签: firebase-authentication google-oauth google-oauth2 google-openid actions-on-google

我正在为firebase应用创建一个google助手。在此过程中,我想实现Streamlined Identity Flows并在我们的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,我不会从assretion流程中获得。我从断言流程获得的只是谷歌用户的唯一ID。

要获得id_token,我似乎需要将作用域传递为openid email profile。通过Openid Connect但是无法收集我是否应该在token端点中实现此流程?如果是这样,这种流程中的意图会是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用NodeJS jsonwebtoken库解码提供的ID令牌,如Assertion Flows page中所述,以获取电子邮件地址,然后致电

  

adminSDK.auth()。getUserByEmail()

  

的createUser()

酌情为您创建用户