Android

Firebase Authenticationを設定する

投稿日:2019/10/01 更新日:

先日、Firebaseプロジェクトを作成しアプリを追加しました。
Firebaseにプロジェクトを追加する手順

今回はFirebaseのAuthenticationを設定してみようと思います。

Firebase Authenticationとは

アプリで認証をより手軽に行えるようにするための認証サービスです。
最近はサービスのアカウントの他にGoogleやTwitterなどの外部のサービスのアカウントで認証することが多いと思います。
ユーザーにとってはアカウント作成という面倒な手順を飛ばせるので、お手軽に利用してもらえる一方でアプリ/サーバーともにサービスに応じた開発が必要になります。
これをより手軽に実装できるようにしてくれるのがFirebase Authenticationです。

サーバー側の処理に関してはFirebase Authenticationが受け持ってくれるので、アプリではFirebase Authentication SDKを使って画面・認証等を行います。

Firebase Authenticationを設定する

Firebase Authenticationを使うには、何の認証方式に対応するか設定する必要があります。

  • メールアドレス/パスワード
  • 電話番号
  • Google
  • Facebook
  • Twitter
  • GitHub
  • など

通常用途では困らない程度に対応しております。また独自認証にも対応しているみたいです。

今回はGitHubを使ってみたいと思います。
GitHub連携をする場合、GitHub側でOAuthAppの設定が必要です。
このときにFirebaseのコールバックURLが必要になるのでメモしておきます。

FirebaseコンソールからAuthenticationを選択しログイン方法を選択します。
対応している認証プロバイダーが表示されるのでGitHubを選択します。

選択するとコールバックURLが表示されるのでメモしておきます。

GitHubの設定

Firebase AuthenticationからGitHubで認証するためにアプリケーションを作成します。
GitHubにログインして Settings -> Developer settings -> OAuth Apps
を開きます。
適当に入力していきますがAuthorization callback URLは先程メモしたFirebase AuthenticationのコールバックURLを設定します。

作成するとClient IDとClient Secretが表示されますのでメモしておきます。

Firebase Authentication GitHubの設定

再びFirebaseコンソールで先程取得したGitHubのClient IDとClient Secretを設定します。
これで設定完了です。

続いて

これだけだと設定して終わりなので次は実際にGitHubアカウントで認証を行うアプリケーションを作成したいと思います。

-Android

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

既存アプリのレイアウトをConstraintLayoutに書き換えた

会社で作っているサービスのAndroidアプリにConstraintLayoutが未導入だったので多くの画面をConstraintLayoutで書き直しました。 アプリ自体が小規模から中規模で画面数は …

リスト等で高さをテキストベースラインで指定する方法

Androidでアプリを作るときは、まずはマテリアルデザインを参考にします。 例えば、リスト表示するときにマテリアルデザインではOne line, Two line, Three lineとそれぞれ例 …

アサーションライブラリのGoogle Truthを使ってみる

AndroidXのTestではGoogleのアサーションライブラリのTruthが使われるみたいです。 Set up project for AndroidX Test Truthを必ず使えというよりも …

Androidアプリ開発を行う前に知っておきたかったこと

Androidアプリ開発を行うようになってから半年以上経過しました。 最初の頃に比べてると習熟度は上がったと思うのですが、まだまだ知らないことが多くて毎日勉強の日々です。 自分がAndroidアプリ開 …

Firebaseにプロジェクトを追加する手順

Androidアプリを公開するときFirebaseを使っている方がほとんどだと思うのですが、自分で設定したことがありませんでした。 今回サンプルプロジェクトですが、Firebaseに設定してみました。 …