- Firebase 教程
- Firebase - 主页
- Firebase - 概述
- Firebase - 环境设置
- Firebase - 数据
- Firebase - 数组
- Firebase - 写入数据
- Firebase - 写入列表数据
- Firebase - 写入事务数据
- Firebase - 读取数据
- Firebase - 事件类型
- Firebase - 分离回调
- Firebase - 查询
- Firebase - 过滤数据
- Firebase - 最佳实践
- Firebase - 电子邮件身份验证
- Firebase - 谷歌身份验证
- Firebase - Facebook 身份验证
- Firebase - Twitter 身份验证
- Firebase - Github 身份验证
- 匿名认证
- Firebase - 离线功能
- Firebase - 安全
- Firebase - 部署
- Firebase 有用资源
- Firebase - 快速指南
- Firebase - 有用的资源
- Firebase - 讨论
Firebase - Facebook 身份验证
在本章中,我们将使用 Firebase Facebook 身份验证对用户进行身份验证。
第 1 步 - 启用 Facebook 身份验证
我们需要打开 Firebase 仪表板并单击侧面菜单中的Auth。接下来,我们需要在选项卡栏中选择登录方法。我们将启用 Facebook 身份验证并将其保持打开状态,因为完成步骤 2 后我们需要添加App ID和App Secret 。
第 2 步 - 创建 Facebook 应用程序
要启用 Facebook 身份验证,我们需要创建 Facebook 应用程序。单击此链接即可开始。创建应用程序后,我们需要将应用程序 ID和应用程序密钥复制到 Firebase 页面(我们在步骤 1 中保持打开状态)。我们还需要将此窗口中的OAuth 重定向 URI复制到 Facebook 应用程序中。您可以在 Facebook 应用仪表板的侧面菜单中找到+ 添加产品。
选择Facebook 登录,它将出现在侧面菜单中。您将找到输入字段有效的 OAuth 重定向 URI,您需要从 Firebase复制 OAuth 重定向 URI 。
第 3 步 - 连接到 Facebook SDK
将以下代码复制到index.html中body标记的开头。请务必将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') }); }