はじめに
ザザッとまとめただけなので、追って詳細は補完していきたいです。
流れ
- Fabric に登録する
- Twitter にアプリを登録する
- Firebase に iOS アプリを登録する
- Firebase に認証の設定をする
- iOS アプリに認証の実装をする
Fabric に登録する
fabric にアクセスし、アカウントを作成します。
GET FABRIC
からアカウントを作成した後、確認メールからアカウントの登録を完了させます。
Twitter にアプリを登録する
twitter にアクセスし、Sign in します。
※ Sign in には Twitter のアカウントを利用します。また、利用する Twitter のアカウントには電話番号が設定されている必要があるようです。
Create New App
からアプリを登録します。登録する際に入力する情報の内、Callback URL
は後述する Firebase
で取得する値を設定します。
アプリ管理画面の Keys and Access Tokens
で確認できる Consumer Key
, Consumer Secret
は Firebase の設定で利用します。
Firebase に iOS アプリを登録する
Firebase にアクセスし、Google アカウントでログインします。
Firebase のコンソール にアクセスします。
新規プロジェクトを作成
からプロジェクトを作成します。
Firebase に認証の設定をする
プロジェクトの管理画面から Authentication
> ログイン方法
> Twitter
を選択し、ログイン方法の設定をします。
この際、前の手順(Twitter のアプリ管理画面)の Consumer Key
, Consumer Secret
を入力します。
また、Twitter
でのログイン方法の設定画面に表示されるコールバック URL を Twitter のアプリ管理画面の Settings
にて Callback URL
として設定します。
iOS アプリに認証の実装をする
準備
- Podfile を設定して、インストールする
- info.plist を設定する
- ビルドフェーズにスクリプトを設定する
- Fabric を初期化するコードを埋め込む
-
Twitter.sharedInstance()
にカスタマーキー、シークレットを設定する
1~4 は fabric: Twitter のインストールガイドを参照ください。
認証の実装
手軽に済ませることを第一とする場合は TwitterKit が提供する TWTRLogInButton
を利用すると良さそうです。
-
TWTRLogInButton
を生成し、配置する -
TWTRLogInButton
に完了時の処理を設定する
TWTRLogInButton
の完了時の処理では、下記の処理を実施します。
- パラメータで渡ってくる
TWTRSession
からFIRAuthCredential
を生成する - 1 の Credential を
FIRAuth.auth
の signIn メソッドに渡し、Firebase に Twitter 認証の結果を登録する
以上で Firebase で Twitter 認証を導入することができました。
ちなみに、認証した結果は Firebase のコンソールの Authentication
> ユーザー
から確認できます。