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

