2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Firebase AuthenticationをFlutterアプリに導入

Last updated at Posted at 2019-12-08

Authenticationが便利だと良く聞くんですが、特に使う機会がなさそうなので
ログイン機能をまるっと投げれる便利さを体験したい!ってことで試してみました
今回はEmailでの登録、ユーザーのID取得を行いました。

それと、試しているときにエラーで止まった時の対応 + あったら便利そうなのをおまけに書いときました。

Authenticationに必要なpluginを追加

Authenticationを使うときに必要なpluginをpubspec.yaml に追加
使うpluginはこちら https://pub.dev/packages/firebase_auth

pubspec.yaml
dependencies:
  firebase_auth: ^0.15.1

忘れずにpackage getしてください

console
  flutter package get

Firebase Consoleでログイン方法の設定

firebaseConsoleを開いて自分の使いたいログイン方法を有効にしてください。
スクリーンショット 2019-12-08 18.12.35.png

有効になっているものはステータスで表示されます。
GoogleやTwitterなどでログイン機能を作る場合はクライアントIDやAPIキーなどが必要な物も有りました。

スクリーンショット 2019-12-08 18.01.30.png メールアドレスのログインでも、パスワード有り、無しを選択することができます。 スクリーンショット 2019-12-08 18.03.53.png

Firebase Consoleでユーザー登録(Email&Password)

ユーザータブをクリックすると登録されているアカウントがリストになっていて検索ができます。
このページ右側にユーザー追加のボタンがあるので選択するとconsole画面からユーザー登録が行えます。
スクリーンショット 2019-12-08 21.42.54.png

プログラムでユーザー登録(Email&Password)

Future registration(String email, String password) async {
  final firebaseAuth = FirebaseAuth.instance;
  await firebaseAuth.createUserWithEmailAndPassword(
      email: email, password: password);
}

こんなに雑でも問題なく動いたのでびっくり
このままだとエラーの対処ができてないので実際に仕事で使う場合はもう少し必要ですが動きは確認できたので良しとします。

プログラムでユーザー情報の取得

こちらもエラー処理は全くしてません。

Future<FirebaseUser> signIn(String email, String password) async {
  final firebaseAuth = FirebaseAuth.instance;
  final FirebaseUser user = await firebaseAuth.signInWithEmailAndPassword(
      email: email, password: password);
  print('ユーザーID:$user');
  return user;
}

おまけ

良くみるボタンを簡単に使えるpluginを発見しました

https://pub.dev/packages/flutter_signin_button#-readme-tab-
スクリーンショット 2019-12-08 17.42.17.png

躓いたエラー

error
FirebaseAuthPlugin.java:9: エラー: シンボルを見つけられません
import androidx.annotation.NonNull;

こんなエラーが起きた場合はこちらの参考にすると良いと思います。
https://www.virment.com/how-to-solve-flutter-firebase_auth-error/

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?