Firebase - Facebook 身份验证


在本章中,我们将使用 Firebase Facebook 身份验证对用户进行身份验证。

第 1 步 - 启用 Facebook 身份验证

我们需要打开 Firebase 仪表板并单击侧面菜单中的Auth。接下来,我们需要在选项卡栏中选择登录方法。我们将启用 Facebook 身份验证并将其保持打开状态,因为完成步骤 2 后我们需要添加App IDApp Secret 。

第 2 步 - 创建 Facebook 应用程序

要启用 Facebook 身份验证,我们需要创建 Facebook 应用程序。单击此链接即可开始。创建应用程序后,我们需要将应用程序 ID应用程序密钥复制到 Firebase 页面(我们在步骤 1 中保持打开状态)。我们还需要将此窗口中的OAuth 重定向 URI复制到 Facebook 应用程序中。您可以在 Facebook 应用仪表板的侧面菜单中找到+ 添加产品。

选择Facebook 登录,它将出现在侧面菜单中。您将找到输入字段有效的 OAuth 重定向 URI,您需要从 Firebase复制 OAuth 重定向 URI 。

第 3 步 - 连接到 Facebook SDK

将以下代码复制到index.htmlbody标记的开头。请务必将Facebook 仪表板中的“APP_ID”替换为您的应用程序 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 步 - 创建按钮

我们在前三步中设置了所有内容,现在我们可以创建两个用于登录和注销的按钮。

索引.html

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

第 5 步 - 创建身份验证函数

这是最后一步。打开index.js并复制以下代码。

索引.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')
   });
}