如果有人知道密钥并且更改了例如json令牌的用户名和到期时间,他们是否能够访问服务器上的安全数据?
答案 0 :(得分:1)
如果在"密钥"您可以参考HMAC签名中使用的对称密钥,然后拥有该密钥的任何人都可以创建并签署有效的JWT。
如果在"密钥"您在RSA场景中引用用于签署JWT的私钥,拥有该密钥的任何人都可以创建并签署使用相应公钥验证的任何人信任的有效JWT。
假设某人可以随意伪造一个JWT(能够在修改后正确签名),这个令牌将被接收它的各方信任,其内容将被视为真实。
基本上,是的。
Here很好地描述了一些漏洞以及JWT中一般安全概念的方式。
答案 1 :(得分:0)
您需要5个不同的参数才能获得访问令牌 -
grant_type,username,password,client_id,client_secret
所以,知道密钥后,用户名就不会得到令牌;知道密码也会得到。它恰恰意味着只有当他/她知道所有参数时才会得到令牌,否则不会!