Future<FirebaseUser> _handleSignIn() async {
try {
final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
final GoogleSignInAuthentication googleAuth = await googleUser.authentication;
final AuthCredential credential = GoogleAuthProvider.getCredential(
accessToken: googleAuth.accessToken,
idToken: googleAuth.idToken,
);
final FirebaseUser user =(await _auth.signInWithCredential(credential)).user;
print("signed in " + user.displayName);
Navigator.of(context).push(MaterialPageRoute(builder: (_) {
return HomePage();
}));
// print("signed in " + user.displayName);
return user;
} catch (error) {
print(error);
}
}
一旦我们使用google firebase在flutter应用程序中登录,那么当我们再次打开应用程序我的登录代码Future_handleSignIn()async {...
exports.generateTokenCall = functions.https.onCall((data, context) => {
var token;
token = admin.auth().createCustomToken(context.auth.uid)
.then((customToken) => {
return {
token: customToken
};
})
.catch((error) => {
console.log("Error creating custom token:", error);
return { error };
});
return token;
});