在本章中,我们将介绍如何在Firebase中设置Google身份验证。
第1步 - 启用Google身份验证
打开Firebase信息中心,然后点击左侧菜单中的身份验证。 要打开可用方法的列表,需要在标签菜单中单击登录方法。
现在可以从列表中选择Google,启用它并保存。参考下图 -
第2步 - 创建登录按钮
创建一个文件:index.html
,并将添加两个按钮。参考代码如下 -
<button onclick = "googleSignin()">使用Google账号登录</button> <button onclick = "googleSignout()">Google账号注销</button>
第3步 - 登录和退出
在这一步中,我们将创建用于登录和注销的两个函数:googleSignin
和googleSignout
。 这里将使用signInWithPopup()
和signOut()
函数。
示例
让我们来看看下面的例子。参考函数的实现 -
var provider = new firebase.auth.GoogleAuthProvider(); function googleSignin() { 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) { var errorCode = error.code; var errorMessage = error.message; console.log(error.code) console.log(error.message) }); } function googleSignout() { firebase.auth().signOut() .then(function() { console.log('Signout Succesfull') }, function(error) { console.log('Signout Failed') }); }
完整的代码如下 -
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="utf-8" /> <title>FireBase Example</title> <script src="https://www.gstatic.com/firebasejs/4.9.1/firebase.js"></script> <script> // Initialize Firebase var config = { apiKey: "AIzaSyAOSPYpgn7T_bKa6VbCaSeQlsw-3p3zqDs", authDomain: "zyiz-firebase.firebaseapp.com", databaseURL: "https://zyiz-firebase.firebaseio.com/", projectId: "zyiz-firebase", storageBucket: "zyiz-firebase.appspot.com", messagingSenderId: "334522625008" }; firebase.initializeApp(config); var provider = new firebase.auth.GoogleAuthProvider(); function googleSignin() { 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) { var errorCode = error.code; var errorMessage = error.message; console.log(error.code) console.log(error.message) }); } function googleSignout() { firebase.auth().signOut() .then(function() { console.log('Signout Succesfull') }, function(error) { console.log('Signout Failed') }); } </script> </head> <body> <button onclick = "googleSignin()">使用Google账号登录</button> <button onclick = "googleSignout()">Google账号注销</button> </body> </html>
刷新页面后,可以点击使用Google账号登录按钮触发Google弹出窗口。 如果登录成功,开发者控制台将登录指定的用户账号。
也可以点击Google账号注销按钮从应用程序注销。控制台将显示确认注销成功。