我在Rails中创建了一个API,人们只能向它发出请求,如果他们发送JWT令牌 - https://jwt.io。我正在使用Rack :: Attack来限制基于IP的人员。现在,我还想根据他们发送的请求令牌对人员进行评级。
下面JWT令牌的3个部分中哪一个对该用户是唯一的?那部分是否会不时变化?换句话说......我可以在哪个部分识别用户?
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
答案 0 :(得分:2)
JWT的任何部分都不会在100%的时间内对用户都是独一无二的。
HEADER:ALGORITHM&令牌类型 - 用户不是唯一的
PAYLOAD:DATA - 到期是有效载荷的一部分,随着发出的每个令牌而变化
验证签名 - 签名验证基于更改的有效负载
最好的办法是解码令牌并使用存储在令牌中的部分数据来识别用户并且是不可变的。