Firebase - Facebook 身份验证
在本章中,我们将使用 Firebase Facebook 身份验证对用户进行身份验证。
步骤 1 - 启用 Facebook 身份验证
我们需要打开 Firebase 仪表板并单击侧面菜单中的 Auth。接下来,我们需要在标签栏中选择 SIGN-IN-METHOD。我们将启用 Facebook 身份验证并将其保持打开状态,因为我们需要在完成第 2 步时添加 App ID 和 App Secret。
步骤 2 - 创建 Facebook 应用
要启用 Facebook 身份验证,我们需要创建 Facebook 应用。单击此链接开始。创建应用后,我们需要将 App ID 和 App Secret 复制到 Firebase 页面,该页面在步骤 1 中保持打开状态。我们还需要将 OAuth 重定向 URI 从此窗口复制到 Facebook 应用。您可以在 Facebook 应用仪表板的侧面菜单中找到 + 添加产品。
选择 Facebook 登录,它将出现在侧面菜单中。您将找到输入字段 有效的 OAuth 重定向 URI,您需要从 Firebase 复制 OAuth 重定向 URI。
步骤 3 - 连接到 Facebook SDK
将以下代码复制到 index.html 中 body 标签的开头。确保将 '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 步 - 创建按钮
我们在前三个步骤中设置了所有内容,现在我们可以创建两个按钮用于登录和注销。
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') }); }