4
3

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 5 years have passed since last update.

Firebase で Twitter 認証を実装する - iOS編

Posted at

はじめに

ザザッとまとめただけなので、追って詳細は補完していきたいです。

流れ

  1. Fabric に登録する
  2. Twitter にアプリを登録する
  3. Firebase に iOS アプリを登録する
  4. Firebase に認証の設定をする
  5. 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 アプリに認証の実装をする

準備

  1. Podfile を設定して、インストールする
  2. info.plist を設定する
  3. ビルドフェーズにスクリプトを設定する
  4. Fabric を初期化するコードを埋め込む
  5. Twitter.sharedInstance() にカスタマーキー、シークレットを設定する

1~4 は fabric: Twitter のインストールガイドを参照ください。

認証の実装

手軽に済ませることを第一とする場合は TwitterKit が提供する TWTRLogInButton を利用すると良さそうです。

  1. TWTRLogInButton を生成し、配置する
  2. TWTRLogInButton に完了時の処理を設定する

TWTRLogInButton の完了時の処理では、下記の処理を実施します。

  1. パラメータで渡ってくる TWTRSession から FIRAuthCredential を生成する
  2. 1 の Credential を FIRAuth.auth の signIn メソッドに渡し、Firebase に Twitter 認証の結果を登録する

以上で Firebase で Twitter 認証を導入することができました。
ちなみに、認証した結果は Firebase のコンソールの Authentication > ユーザー から確認できます。

4
3
1

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
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?