2017-03-07 155 views
0

我与智威汤逊API的工作,我已经产生了使用令牌:JWT被在其网站上轻松地解码

public void addAuthentication(HttpServletResponse response, String name) { 
    // We generate a token now. 
    String JWT = Jwts.builder() 
      .setSubject(name) 
      .signWith(SignatureAlgorithm.HS512, secret) 
      .compact(); 
    response.addHeader(headerString, tokenPrefix + " " + JWT); 
} 

ABD秘密令牌前缀是字符串,但它确实产生的原因,但是当我把它复制到

https://jwt.io/#debugger

它确实undecode并揭示存储它里面的所有的信息,我是不是做错了什么或它的,因为它应该是什么?这似乎并不安全。

感谢答案

回答

0

它在它告诉你的用户是谁的安全意识,什么声称他们有。您可以通过检查JWT签名来验证用户的身份和声明是否有效。

而且,看到这一点:https://stackoverflow.com/a/38459231/2115684

如果你想隐藏的有效载荷,智威汤逊规范允许使用加密(请参见JSON网络加密 - JWE在RFC)。如果auth0不支持它,你可以在jwt.io中列出很多库。

0

这是安全的。不要担心。只需以安全的方式存储您的密钥。 值得注意的一点是,解码后的信息无法更改,或者无法在没有密钥的情况下生成令牌。

避免在令牌中存储重要信息,如信用卡号码或密码等。我确定您没有为此目的使用智威汤逊。

如果要隐藏有效负载,JWT规范允许使用加密(请参阅Json Web Encryption-JWE at RFC)。如果auth0不支持它,你有很多jwt.io

检查列出的库的这个主题