Firebase身份验证:安全检查,如果用户已登录

时间:2018-02-13 14:36:36

标签: firebase firebase-authentication

我在他发送的每个AJX-Request上授权用户。因此我在AJX-Function的开头调用一个函数。这给了我一个带有userID和ID Token的回调:

userID = currentUser.uid;
currentUser.getIdToken().then(function(data) {
   token = data;
   __callback( userID, token);
});

然后我调用请求并传递ID和令牌。 在服务器端,我检查令牌,它属于哪个用户ID。 这两个ID是否相等,用户是否已登录。

但是,如果用户知道用户ID和令牌,他可以修改两个变量并通过AJX-Call发送它们。然后用户立即登录。

这是验证用户服务器端的最佳方法吗?或者应该怎么做?

1 个答案:

答案 0 :(得分:0)

  

如果用户知道userID和令牌,他可以修改两个vars并通过AJX-Call发送它们。

实际上这是不可能的。要创建ID令牌,您需要使用项目的私钥对其进行签名。由于永远不会通过网络发送,黑客也无法做到这一点。

除非他们当然知道用户的凭据,否则他们可以使用Firebase身份验证API登录/创建此类令牌。你不能做很多事情。