J'ai implémenté l'authentification de Firebase Auth Google Sign in mais comment puis-je rester connecté après la fermeture de l'application, j'ai même placé cette ligne loginpage.dart strong> (ancien) strong> p> loginpage.dart strong> (nouveau) strud> p> Je dois ajouter ce code afin de rester connecté. Au fait, comment puis-je capable Pour faire la même chose pour Facebook? P> P> attendre _auth.CurrentUser () code> mais ne fonctionne toujours pas. Vous trouverez ci-dessous mon code de connexion.
3 Réponses :
Je n'ai personnellement pas essayé ceci après la libération de flotter dans un canal stable, mais vous pouvez simplement stocker les informations utilisateur obtenues à partir des jetons Auth. P>
Jetez un coup d'œil à ceci: https://medium.com/flutterpub/flutter-how-a-o-user-login-with-firebase-a6af760b14d5 P>
Salut! Merci d'avoir répondu à ma question mais ne fonctionne toujours pas. Puis-je demander où devrais-je mettre l'extrait? Devrait-il être dans le loginpage ou la page d'accueil? Merci
Mettez-le dans la méthode initialisée de la page que vous utilisez Google Sign in. Par exemple, si vous utilisez Google Sign dans la page de connexion et la racine est Statefulwidget, il suffit de le mettre dans iniState () code>
Désolé d'avoir mis à jour mon code et je ne vous ai pas dit. Est-ce exact?
Presque, vous n'avez pas besoin d'attribuer le paramètre code> scopes code> lorsque vous créez Googlesignin code> instance? J'ai trouvé que plus d'un
GooglesigninAccount code> dans votre code. Probablement, vous devez utiliser le non-null
_currentturer code> pour obtenir le
googlesignauthentication code> des choses au lieu de vous connecter à nouveau.
Les cordes que vous voulez dire? Googlesignin _googlesignin = Googlesignin (Scopes:
J'ai traversé votre code. Comme je l'ai dit ci-dessus, vous ne devriez avoir qu'un seul Googlesignin code> instance. Testez-vous si elle peut se connecter avec succès, même si vous devez entrer dans l'e-mail et le mot de passe à chaque fois? Une fois que vous vous êtes connecté avec succès, l'état de connexion peut être conservé pendant une période de temps. De plus, vérifiez cet extrait: gist.github.com/seanzom/261fa991B925C6336075DA98CDB30C05 , j'ai extrait le < Code> googlesignin code> partie de votre code et testé déjà.
J'utilise une autre méthode et que cela fonctionne, au-dessus du code mis à jour, mais ceci est uniquement destiné à Google Sign in. Comment puis-je le faire fonctionner avec Facebook?
Future googleSignIn() async { try { GoogleSignInAccount googleUser = await _googleSignIn.signIn(); GoogleSignInAuthentication googleAuth = await googleUser.authentication; final AuthCredential credential = GoogleAuthProvider.getCredential( accessToken: googleAuth.accessToken, idToken: googleAuth.idToken, ); FirebaseUser _user = (await _auth.signInWithCredential(credential)).user; assert(_user.email != null); assert(_user.displayName != null); assert(!_user.isAnonymous); assert(await _user.getIdToken() != null); DatabaseServices(uid:_user.uid,email: _user.email) .updateUserData(_user.displayName,_user.photoUrl); print("signed in " + _user.displayName + "\n" + _user.photoUrl); return _user; } catch (e) { print(e.toString()); return null; } }