Loading [MathJax]/extensions/tex2jax.js

2021-10-24

Firebaseを用いてGoogle認証をする(クライアント処理、Flutter,Dart編)

 FlutterでGoogle認証するためのメモ書きです。メソッドがバージョンによって変わっているのか、ネットの情報どおりに書いても動かなかったケースがありました。今回のケースでは

  • ダメなケース→ await googleLogin.signIn();
  • OKなケース→  await GoogleSignIn().signIn();

という記述ですね。前者だと認証がいつまで経っても終わりませんでした。Flutterに最近手をつけ始めてますが、Gradle,Dart, Flutterなどのバージョン調整がいろいろめんどくさいですね。

//ログインボタンを押した場合
onPressed: () async {
GoogleSignInAccount? signinAccount = await GoogleSignIn().signIn();
if (signinAccount == null) return;
GoogleSignInAuthentication auth = await signinAccount.authentication;
final OAuthCredential credential = GoogleAuthProvider.credential(
idToken: auth.idToken,
accessToken: auth.accessToken,
);
User? user =
(await FirebaseAuth.instance.signInWithCredential(credential)).user;
if (user != null) {
await Navigator.of(context).pushReplacement(
MaterialPageRoute(builder: (context) {
return LogoutPage(user);
}),
);
}
}
//ログアウトボタンを押した場合
onPressed: () async {
FirebaseAuth.instance.signOut();
//await googleLogin.signIn();
await GoogleSignIn().signIn();
await Navigator.of(context)
.pushReplacement(MaterialPageRoute(builder: (context) {
return LoginPage();
}));
}
view raw glogin.dart hosted with ❤ by GitHub





0 件のコメント:

コメントを投稿