在Firebase的documentation中声明
您在Firebase项目中创建新用户,方法是调用 createUserWithEmailAndPassword方法或通过登录用户获取 首次使用联合身份提供商,例如Google登录 或Facebook登录。
我使用react-native-google-signin
library登录,经过一天的思考后,它终于正常工作了。登录成功后,我可以看到登录的用户数据。
但是在Firebase控制台中,在身份验证下我没有看到添加任何新用户。
当然我觉得处理它的一种方式是看起来像
GoogleSignin.signIn().then(user => {
// if the user doesn't already exist
firebase.auth()
.createUserWithEmailAndPassword(user.email, randomPassowrd);
})
但这感觉就像是一种解决方法,而且医生说你可以通过谷歌登录来在firebase中创建一个新用户...那么为什么这不会自动发生呢?
这是我当前的实现,我认为这是最简单的方法,因为我说登录成功并且数据流入。
GoogleSignin
.configure({
iosClientId: IOS_CLIENT_ID
})
.then(() => {
GoogleSignin
.signIn()
.then((user) => {
console.log('user ->', user);
dispatch(LoginSuccessAction(user))
})
.catch((err) => {
dispatch(LoginFailAction())
})
.done();
})
.done();
答案 0 :(得分:0)
如果您将用户与Google(或任何其他提供商)签署到Firebase身份验证中,它们将显示在Firebase Authentication console中。
您分享的代码并未将用户签到Firebase,因此他们确实无法在Firebase控制台中显示(他们也不会对Firebase服务进行身份验证访问)。您错过了对firebase.auth().signInWithCredential(credential)
的来电,如下所示:https://firebase.google.com/docs/auth/web/google-signin#advanced-handle-the-sign-in-flow-manually