使用Firebase进行网站身份验证

时间:2019-03-09 06:53:53

标签: firebase authentication firebase-authentication

我正在我的网站(http://mysite.example.com)上工作;在这里我使用Firebase实现了登录系统。

换句话说,当访客进入时,他们必须以Firebase用户身份登录,然后(仅)在登录时才能进入我的网站。

尽管它可以正常工作,但我仍然需要确保该过程的安全。搜索网络带给我很多东西。但是我想知道我需要为自己的目标走多远。换句话说,如果我能通过几个简单的步骤就能完成我所需要的工作,我就不会花费数小时的学习时间。

我找到的一个文件是: https://firebase.google.com/docs/auth/admin/verify-id-tokens#retrieve_id_tokens_on_clients

这是我要记住的两个问题:

  1. 是否需要将我的网站设置为 https 类型的URL 比 http
  2. 我是否需要设置 Firebase Admin SDK

上述文档在注释中表示: 使用....

可以完成许多用于验证服务器上ID令牌的用例。

但是我不确定这将使我走上一条简单的道路。

这是我目前使用的那种代码:

firebase.auth().onAuthStateChanged(function(user) {
    if (user) {
      // User is signed in.
      checkUser();
    } else {
      // No user is signed in.
      console.log("No user has logged in yet.");
    }
});


function checkUser() {
    let user = firebase.auth().currentUser;

    if (user) {
      .........
      // The user is signed in, we open the door to the web site.
      window.open("http://mysite.example.com",'_self');
    } else {
      // No user is signed in.
      console.log("No user is logged in.");
    }
}

在标记为.....的地方,我做的不多;但我可能需要添加这样的代码(进行某种相当复杂的验证):

  user.getIdToken(true).then(function(idToken) {
    // Send token to your backend via HTTPS
    // ...
    console.log("getIdToken - Seem-To-Be-OK! \n\t" + idToken);
  }).catch(function(error) {
    // Handle error
    console.log("getIdToken - Error: " + error);
  });

这是我想确认的,并且知道什么是最简单的解决方案。

0 个答案:

没有答案