我阅读了一些JWT教程,但他们没有谈论如何生成随机秘密。
所以我生成了一个秘密的JWT然后我生成另一个具有相同秘密的JWT? 如果有人已经知道我的秘密是什么怎么办?
这是不是意味着他可以假装,或修改信息并自行签署JWT然后将其发送到我的服务器?
为了解决这个问题,我想用一个随机的,唯一的秘密来加密JWT(并将随机密钥存储到我的数据库中,留下加密字符串后面的秘密索引),但是我应该? 我有什么想法吗?
答案 0 :(得分:2)
不,您不应该使用唯一的秘密签署每个JWT并将秘密存储在您的数据库中。如果您担心您的秘密会泄漏并希望通过数据库查找来解决每个传入呼叫的问题,您应该使用常规随机生成的令牌,然后为数据库中的每个请求查找该令牌的“声明”(或使用常规赛季模式)。
因此,不是使用数据库来验证JWT中每个调用的信息,而是将您计划存储的信息存储在数据库中的JWT中。