关于 JWT (json网络令牌)的一些问题:
在我看来,它适用于移动设备,但它是身份验证的良好解决方案吗?如果没有,移动应用和服务器之间可以使用哪些其他解决方案进行身份验证?
一般来说,会话会存储一些敏感数据,它不能在jwt中执行此操作(无法在jwt有效负载中存储敏感数据,因为它不安全)。
在我看来,敏感数据只能存储在其他地方,比如redis。但是想想这样,jwt和session之间有什么区别? 我现在很困惑。
答案 0 :(得分:1)
首先,您不应将任何敏感数据放入JWT有效负载。 JWT是基于HMAC或使用RSA的公钥/私钥对的认证机制。您也可以加密您的有效负载,但这不是使用JWT的常规情况。
它适用于移动设备吗? 在我看来,它适用于移动设备,但它是一个很好的身份验证解决方案吗?如果没有,移动应用和服务器之间可以使用哪些其他解决方案进行身份验证?
你是对的。它适用于所有类型的移动应用程序(本机,html5,混合)。另一种选择是OAuth。
这是会议的替代品吗?
我认为你的意思是sessionStorage / cookies?那么JWT它不是替代品。
一般来说,会话会存储一些敏感数据,它不能在jwt中执行此操作(无法在jwt有效负载中存储敏感数据,因为它不安全)。
就像我已经写过的那样,您可以加密您的有效负载,但是您不应该将敏感数据存储到您的有效负载中。
在我看来,敏感数据只能存储在其他地方,比如redis。但是想想这样,jwt和session之间有什么区别?我现在很困惑。
他们是两回事。 Redis和sessionStorage / cookie是数据结构,用于存储(用户/会话相关)数据。 JWT是一种认证机制。