当用户登录时,花了很长时间才能获得gPlusUser.idToken...。长达7或8分钟,而应用只是在等待偶像。
// Google登录
async googleLogin(): Promise<void> {
try {
console.log('before gPlus');
const gplusUser = await this.gplus.login({
'webClientId': environment.googleWebClientId,
'offline': true,
'scopes': 'profile email'
});
console.log('after gPlus', gplusUser);
return await this.afAuth.auth.signInAndRetrieveDataWithCredential(
firebase.auth.GoogleAuthProvider.credential(gplusUser.idToken)
).then((credential) => {
console.log('getting creds', credential);
const user: IUser = {
uid: credential.user.uid,
email: credential.user.email,
displayName: credential.user.displayName,
};
this.updateUserData(user);
});
} catch (err) {
console.log(err);
}
}
这只是在几周前开始花费了很长时间。最初设置时并不需要花费很长时间。
这条特殊的线花了很长时间:
console.log('before gPlus');
const gplusUser = await this.gplus.login({
'webClientId': environment.googleWebClientId,
'offline': true,
'scopes': 'profile email'
});
console.log('after gPlus', gplusUser);
我添加了控制台日志,这实际上是获取gplususer的过程,这花费了很长时间。
我将数据库规则更改如下,但无济于事:
match /users/{userId} {
allow read;
allow write;
}