JWT是否可以安全传递机密数据

时间:2017-02-28 17:47:32

标签: c# encryption oauth-2.0 jwt

我刚刚阅读有关JWT的信息,以加密用户的某些个人数据,以便可以安全地传递给其他API。

     var payload = new Dictionary<string, object>()
                                  {
                                      {"email", "test@test.com"},
                                      {"phone", "9878987899"}
                                  };
    var encoded = JWT.JsonWebToken.Encode(payload, "secret", JwtHashAlgorithm.HS512);
    Console.WriteLine(encoded);  //prints encoded payload

现在我可以解码令牌,如下所示

  var decoded = JWT.JsonWebToken.Decode(encoded, "", verify:false);   // no security key
  Console.WriteLine(decoded); 

上面的代码解码令牌并返回加密的json有效负载。如果您观察到我没有通过secret key,但仍然可以解码令牌。

我通过了verify:false以上。现在,如果我将其设置为true,则说明Signature is Invalid失败。这是预期的行为。

我的问题是,security key如果有人可以通过设置verify:false解码令牌,目的是什么?

0 个答案:

没有答案