我正在撰写一个基本网站,我希望用户能够使用Google登录登录该网站。我试图通过firebase做到这一点,到目前为止已取得了成功的结果。在他们的文档中,声明用户将被存储在变量" auth"在firebase实时数据库中,可以从所述变量访问它们的email和user-id。我已经按照文档中的所有步骤操作,并使用他们的示例文件作为指导。在我的帐户控制面板上,系统会记录所有登录我网站的用户及其用户ID和电子邮件地址。然而,实时数据库选项卡不是这种情况,因为无论用户登录多少次,数据库都保持空白。这是一个主要问题,因为我需要能够访问用户的电子邮件地址为了做一些事情,比如在网页上显示它。
我写的代码如下:
<html>
<head>
<title>SEatAMRS auth test</title>
<script src="https://www.gstatic.com/firebasejs/3.2.0/firebase.js"></script>
<script type="text/javascript">
// Initialize Firebase
var config = {
apiKey: "****************2XqEQSO9Z8vhPF5w",
authDomain: "*********-build.firebaseapp.com",
databaseURL: "https://***********-build.firebaseio.com",
storageBucket: "***********-build.appspot.com",
};
firebase.initializeApp(config);
//Creatse a provider object
var provider = new firebase.auth.GoogleAuthProvider();
firebase.auth().signInWithPopup(provider).then(function(result) {
// This gives you a Google Access Token. You can use it to access the Google API.
var token = result.credential.accessToken;
// The signed-in user info.
var user = result.user;
// ...
}).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// The email of the user's account used.
var email = error.email;
// The firebase.auth.AuthCredential type that was used.
var credential = error.credential;
// ...
});
//Sign out function
firebase.auth().signOut().then(function() {
// Sign-out successful.
}, function(error) {
// An error happened.
});
</script>
</head>
<body>
<h1>Welcome to the Google Sign in Fucntionality Test!</h1>
</html>
答案 0 :(得分:0)
首先,您从用户那里获得用户名和密码。然后,验证html中的凭据,然后使用firebase中的signin方法。