Google登录用户未显示在fireabse数据库中

时间:2016-07-14 11:17:55

标签: javascript firebase firebase-realtime-database firebase-authentication

我正在撰写一个基本网站,我希望用户能够使用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>

1 个答案:

答案 0 :(得分:0)

首先,您从用户那里获得用户名和密码。然后,验证html中的凭据,然后使用firebase中的signin方法。