我应该在JWT令牌中传递加密数据吗?

时间:2016-05-17 09:35:36

标签: asp.net authentication encryption jwt

我们正在实施JWT以允许我们的客户端通过我们的单独身份验证服务器进行身份验证。

客户端将用户名和密码发布到身份验证服务器,接收JWT,然后使用JWT登录主站点。

显然,令牌包括用户名和其他一些非秘密信息。

问题是如果使用JWT传递秘密信息以及如何传递。 以下是可能会考虑的几个选项:

  1. 不要这样做。让主网站服务器使用经过身份验证的用户名调用后端API,以获取所需的信息。
  2. 使用对称加密将信息作为私密声明加密值并在主网站和身份验证服务器之间共享密钥/密码短语。
  3. 加密整个令牌。
  4. 这里有最佳做法吗?这些选择的起伏是什么?

2 个答案:

答案 0 :(得分:0)

您不应该使用JWT传递秘密信息。 这些令牌通常被签名以防止操纵(未加密),因此可以容易地解码和读取权利要求中的数据。 如果您需要传递敏感信息,请查看JSON Web Encryption(JWE)

答案 1 :(得分:0)

您应该为此目的检查JSON Web Encryption