Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
验证服务器端firebase令牌时出现安全问题?_Firebase_Firebase Authentication_Firebase Admin - Fatal编程技术网

验证服务器端firebase令牌时出现安全问题?

验证服务器端firebase令牌时出现安全问题?,firebase,firebase-authentication,firebase-admin,Firebase,Firebase Authentication,Firebase Admin,我正在使用firebase mobile otp身份验证。成功验证后,我的android应用程序将收到一个令牌,我必须在django服务器上验证该令牌。但当我阅读验证这个令牌的文档时,发现如果有人知道我的firebase项目id,他们可以随时生成有效的令牌 要获取contec,请查看最后一个验证firebase令牌的方法 这不是很危险吗,因为一旦有人知道你的firebase项目id,他们就可以创建假令牌 自定义身份验证令牌是否也有助于克服此问题 谢谢。如果我不正确理解firebase令牌验证,请

我正在使用firebase mobile otp身份验证。成功验证后,我的android应用程序将收到一个令牌,我必须在django服务器上验证该令牌。但当我阅读验证这个令牌的文档时,发现如果有人知道我的firebase项目id,他们可以随时生成有效的令牌

要获取contec,请查看最后一个验证firebase令牌的方法

这不是很危险吗,因为一旦有人知道你的firebase项目id,他们就可以创建假令牌

自定义身份验证令牌是否也有助于克服此问题


谢谢。如果我不正确理解firebase令牌验证,请告知我,一旦我们知道firebase project-id,就不可能创建假令牌。

id令牌由firebase Auth拥有的私钥签名。它们不能伪造。请注意,您引用的文档还声明:

最后,确保ID令牌由与令牌的kid声明相对应的私钥签名。从JWT库中获取公钥并使用JWT库验证签名


伪造的ID令牌将无法通过签名检查。

“如果有人知道我的firebase项目ID,他们可以随时生成有效令牌。”。你是怎么得出这个结论的?用户可以为自己的帐户获取令牌,但不能为其他帐户获取令牌,也不能为不存在的帐户获取令牌。@DougStevenson我还没有尝试过该方法,但上述链接中验证jwt令牌的最后一个方法只需检查两个参数“iss”和“aud”,这两者都依赖于项目id,因此可以放置一个随机的“uid”,并使用jwt对其进行编码,然后将其发送到后端服务器。@DougStevenson我能想到的唯一解释是,很难猜测与该项目相关的任何人的uid。你能给我一些解释签名验证算法的链接吗。基本上在哪里可以理解这个加密协议是如何工作的?它是一个标准的SHA256 RSA签名验证。我建议您阅读更多关于非对称加密和JWT令牌如何签名/验证的内容。以下是我们在围棋中如何做到这一点:。大多数JWT LIB将为您处理此问题。