2017-10-11 96 views
0

我最近添加谷歌登录与firebase到我的网站已经使用电子邮件和密码登录。我的网站已经有很多东西涉及他们的用户名(我有一个单独的数据库,包含电子邮件ID和用户名,所以即使他们提供用户名,我也会使用他们的电子邮件登录)。所以现在,当一个人第一次登录谷歌时,它应该将他们的谷歌用户名和电子邮件保存在该数据库中。我该怎么做呢?Firebase - 如何使用用户名和谷歌登录?

+0

一个谷歌用户名和电子邮件是一样的。不过,我想你想提示你的用户填写只与你的网站关联的用户名正确吗?然后,您需要创建一些业务逻辑来检查登录的用户电子邮件或唯一ID是否与数据库中的用户名相对应。如果它不存在,你只需提示他们一个。 – Webbanditten

+0

请参阅https://stackoverflow.com/questions/43509021/how-to-add-username-with-email-and-password-in-firebase/43509186,https://stackoverflow.com/questions/42735452/firebase-存储用户变量或其中之一:https://www.google.com/search?q=site%3Astackoverflow.com+firebase+store+user+name+javascript –

回答

0

您可以使用promisse return。

let provider = new firebase.auth.GoogleAuthProvider(); 
provider.addScope('https://www.googleapis.com/auth/plus.login'); 
this.afAuth.auth.signInWithPopup(provider).then(user => console.log(user.email)); 

或者

this.afAuth.authState.take(1).subscribe(user => { console.log(user.email)); 
+0

那么,这将是好的电子邮件。我真正想知道的是如何找出他/她的(谷歌)用户名。 – Cubetastic

+0

没有“Google用户名”这样的东西。 – Webbanditten

+0

我的意思是,如果你去[这里](https://myaccount.google.com/),它显示的名称。这是谷歌总是为用户使用的名称。 – Cubetastic