Ionic2 + FirebaseでTwitterログインの実装

ionic2とFirebaseを使ったTwitterログインの実装をしていきます。

開発準備

※今回の開発には事前に以下のアカウントが必要になります。

  • Googleアカウント
  • Twitterアカウント

Ionicプロジェクトの作成

まず初めにIonicプロジェクトを作成します。

今回はテンプレート指定なしなので、デフォルトでtabテンプレートが選ばれます。

プロジェクトの作成が終わったらIonicでFirebase使いやすくするangularfire2と言うプラグインを入れます。

ここまで終わったら一旦Ionic側の作業は終了です。

次はFirebaseプロジェクトを作成していきます。

Firebaseプロジェクトの作成

Firebaseコンソールを開きます。

プロジェクトの追加をクリックするとプロジェクト作成のダイアログが表示されます。

プロジェクト名 と国・地域の選択をしたらプロジェクト作成を押してプロジェクトを作成します。

プロジェクトの作成が終わるとダッシュボードに自動で画面遷移します。

続いて「ウェブアプリにFIrebaseを追加」を選択すると設定情報が記載されたダイアログが表示されます。

ダイアログのコピーボタンをクリックし、設定情報をコピーします。

IonicプロジェクトにFirebaseの設定情報を追加

続いて再び、Ionicプロジェクトに戻りテキストEditorで「SocialLogin > src > app 」のapp.module.tsファイルを開きます。

app.module.tsファイルにFirebaseの設定を追記します。

Twitterアプリの作成

続いてTwitterログインに必要なアプリをTwitter Developersサイトへ行き作成する手順になります。

Twitter Developersサイトの「My apps」をクリックします。

「Create New App」を選択しアプリ作成画面を開きます。

アプリ作成画面を開くとアプリ作成に必要な情報の入力を行います。

Name :作成するアプリの名前を入力します。

Description:作成するアプリの説明を入力します。

Website: ウェブサイトのURLを入力します、なければ「http://example.com」などの適当なURLを入力します。

Callback URL:Callback URLの入力欄はFirebaseのTwitterログインプロバイダのコールバックURLを入力します。

Firebase、TwitterログインプロバイダのコールバックURLを取得する手順

  • Firebaseプロジェクトの「Authentication > ログイン方法 > Twitter」の順に選択します。
  • 「有効にする」にチェックを入れ、コールバックURLをコピーします。

 

Twitterアプリの作成が無事に終わると「Keys and Access Tokens」タブが選択できるようになりAPI KeyとAPI Secretが取得できるようになります。

API KeyとAPI Secretの値をFirebaseのTwitterログインプロバイダの「APIキー」と「APIシークレット」にそれぞれ設定します。

最後はIonicプロジェクトにログイン処理を書いていきます。

IonicプロジェクトにTwitterログイン処理の実装

今回は先ほど作ったIonicプロジェクトのデフォルトで作成されているhome.tsにログインの処理を書いていきます。

home.tsまでのパスは「SocialLogin > src > pages > home 」です。

home.html

ここで、Ionicを起動してみます。

ターミナルを起動し、以下のコマンドを実行します。

無事に起動するとターミナルの最後の行に起動したサーバーのホスト名とポート番号が表示されます。

dev server running: http://localhost:8100/

ブラウザを開いてhttp://localhost:8100/にアクセスしてみましょう。

このような画面ができたと思います。

それでは実際にログインを試してみましょう。

 

ポップアップウィンドが立ち上がったのち、ログイン画面に戻ってID・名前と画面右上にログアウトボタンが表示されていれば成功です。

Firebaseのコンソールに移動し、Authenticationを選択すると先ほどログインしたユーザーが追加されていると思います。

以上、IonicとFirebaseを使ったTwitterログインの実装でした。

いかがでしたでしょうか、ソーシャルログインの実装がとても簡単にできたと思います。

他にもFacebookやGoogleアカウントでのログインプロバイダも用意されていますので、ぜひ試してみて下さい。

参考サイト

Firebaseドキュメント

angularfire2 User authentication

 

 

Pocket

The following two tabs change content below.
Shingo Aoki
スタッフの青木です。 node.jsでサーバーサイドの開発を行っています。 その他、Angular.jsなどjava scriptフレームワークを使った開発に興味があります!