怎么办?一旦我们使用google fire base登录flutter应用程序,那么当我们再次打开该应用程序时,我们就不必再次登录]] <<

问题描述 投票:-1回答:1
一旦我们使用Google Firebase登录了flutter应用程序,那么当我们再次打开该应用程序时就不必再次登录我的登录代码

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 {...

firebase flutter
1个回答
0
投票
一种可能的解决方案是在登录用户时使用Firebase函数生成令牌,然后使用SharedPreferences保存该令牌。下次用户打开该应用程序时,您将检索令牌并使用它来自动通过Firebase进行身份验证。下面的Firebase函数将为您已经登录的用户生成一个令牌:

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; });

© www.soinside.com 2019 - 2024. All rights reserved.