API的JWT身份验证与会话身份验证

API的JWT身份验证与会话身份验证,api,session,jwt,Api,Session,Jwt,我正在开发一个需要一些身份验证函数的API 我通常使用会话方法:用户发布登录API,我返回会话ID。然后,对于所有其他API调用,用户需要附加该会话ID 我的主管建议我用JWT做这种工作。但是我似乎找不到在上述会话方法中使用JWT的任何显著优点。如果我想在使用JWT时维护某种“会话数据”,甚至还有一个巨大的缺陷 你知道在这种情况下使用JWT的好处吗?我是否应该将旧代码迁移到JWT?我最终发现了这篇文章,它涵盖了整个主题,从而回答了这个问题: 无状态JWT令牌不能失效或更新,并且将 根据您所在的

我正在开发一个需要一些身份验证函数的API

我通常使用会话方法:用户发布登录API,我返回会话ID。然后,对于所有其他API调用,用户需要附加该会话ID

我的主管建议我用JWT做这种工作。但是我似乎找不到在上述会话方法中使用JWT的任何显著优点。如果我想在使用JWT时维护某种“会话数据”,甚至还有一个巨大的缺陷


你知道在这种情况下使用JWT的好处吗?我是否应该将旧代码迁移到JWT?

我最终发现了这篇文章,它涵盖了整个主题,从而回答了这个问题:

无状态JWT令牌不能失效或更新,并且将 根据您所在的位置引入大小问题或安全问题 储存它们。有状态JWT令牌在功能上与会话相同 Cookie,但没有经过战斗测试和充分审查 实现或客户端支持

除非您在Reddit scale应用程序上工作,否则没有理由这样做 使用JWT令牌作为会话机制。只需使用会话


我也在问自己同样的问题。您是否得出过结论?不值得,我现在一直在使用会话,感谢提供的文章,现在将其标记为正确:)JWT令牌是否可以无效是一个实现细节(如果必须,请在令牌中存储会话ID)。它部分地消除了该技术的一个好处(节省了一个DB往返),但并没有使该技术失效。