Facebook身份验证(Facebook Authentication)
优质
小牛编辑
133浏览
2023-12-01
在本章中,我们将使用Firebase Facebook身份验证对用户进行身份验证。
第1步 - 启用Facebook身份验证
我们需要打开Firebase信息中心,然后在侧边菜单中点击Auth 。 接下来,我们需要在标签栏中选择SIGN-IN-METHOD 。 我们将启用Facebook身份验证并保持打开状态,因为我们需要在完成第2步时添加App ID和App Secret 。
第2步 - 创建Facebook应用程序
要启用Facebook身份验证,我们需要创建Facebook应用程序。 点击此链接开始。 创建应用程序后,我们需要将App ID和App Secret复制到我们在步骤1中打开的Firebase页面。我们还需要将OAuth Redirect URI从此窗口复制到Facebook应用程序中。 您可以在Facebook应用程序仪表板的侧面菜单中找到+ Add Product 。
选择Facebook Login ,它将出现在侧边菜单中。 您将找到输入字段Valid OAuth redirect URIs ,您需要从Firebase复制OAuth Redirect URI 。
第3步 - 连接到Facebook SDK
将以下代码复制到index.html body标签的开头。 请务必从Facebook信息中心将'APP_ID'替换为您的应用ID。
例子 (Example)
让我们考虑以下示例。
<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')
});
}