Firebase-Facebook認証

この章では、FirebaseFacebook認証を使用してユーザーを認証します。

ステップ1-Facebook認証を有効にする

Firebaseダッシュボードを開いてクリックする必要があります Authサイドメニューで。次に、選択する必要がありますSIGN-IN-METHODタブバーで。Facebook認証を有効にし、追加する必要があるため、これを開いたままにしますApp ID そして App Secret 手順2を終了したとき。

ステップ2-Facebookアプリを作成する

Facebook認証を有効にするには、Facebookアプリを作成する必要があります。このリンクをクリックして開始します。アプリが作成されたら、コピーする必要がありますApp ID そして App Secret 手順1で開いたままにしたFirebaseページに移動します。コピーする必要もあります OAuth Redirect URIこのウィンドウからFacebookアプリに。発見できる+ Add Product Facebookアプリダッシュボードのサイドメニューの内側。

選択 Facebook Loginサイドメニューに表示されます。入力フィールドがありますValid OAuth redirect URIs コピーする必要がある場所 OAuth Redirect URI Firebaseから。

ステップ3-FacebookSDKに接続する

の先頭にある次のコードをコピーします body タグを付ける index.html。必ず交換してください'APP_ID' FacebookダッシュボードからアプリIDに。

次の例を考えてみましょう。

<script>
   window.fbAsyncInit = function() {
      FB.init ({
         appId      : 'APP_ID',
         xfbml      : true,
         version    : 'v2.6'
      });
   };

   (function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) {return;}
      js = d.createElement(s); js.id = id;
      js.src = "//connect.facebook.net/en_US/sdk.js";
      fjs.parentNode.insertBefore(js, fjs);
   } (document, 'script', 'facebook-jssdk'));
	
</script>

ステップ4-ボタンを作成する

最初の3つのステップですべてを設定しました。これで、ログインとログアウトの2つのボタンを作成できます。

index.html

<button onclick = "facebookSignin()">Facebook Signin</button>
<button onclick = "facebookSignout()">Facebook Signout</button>

ステップ5-認証関数を作成する

これが最後のステップです。開いたindex.js 次のコードをコピーします。

index.js

var provider = new firebase.auth.FacebookAuthProvider();

function facebookSignin() {
   firebase.auth().signInWithPopup(provider)
   
   .then(function(result) {
      var token = result.credential.accessToken;
      var user = result.user;
		
      console.log(token)
      console.log(user)
   }).catch(function(error) {
      console.log(error.code);
      console.log(error.message);
   });
}

function facebookSignout() {
   firebase.auth().signOut()
   
   .then(function() {
      console.log('Signout successful!')
   }, function(error) {
      console.log('Signout failed')
   });
}