大家开发一般在授权认证上使用为什么方案 1.jwt 优点是无状态,缺点 服务端不可控例如强制登出 2.session 优点 可控服务端为得维护状态,缺点 服务端有额外开销,分布式涉及到同步问题
1
workspace 2019-10-23 17:44:09 +08:00
分布式涉及到同步问题,使用 redis 需要考虑吗
|
2
luckyrayyy 2019-10-23 17:45:37 +08:00
都说 jwt 适合单次或短时校验。
另外 jwt 有点问题就是服务端不能主动控制登出,另外安全问题也得考虑。 |
3
workspace 2019-10-23 17:46:01 +08:00
只用过 session 觉得挺好哈哈 不同场景不同使用吧
|
4
racecoder00 2019-10-23 17:49:00 +08:00
就是鉴权选择分布式还是集中的吧
|
5
tabris17 2019-10-23 17:50:25 +08:00
JWT 过期时间设短一点,对于实时性要求不高的应用足够了。
|
6
passerbytiny 2019-10-23 17:51:24 +08:00
两者可以同时用的——JWT 外加用户状态用于首次登录,session 用于跟踪。当然 session 要基于 redis、文件或其它独立存储做定制,并且此时 JWT 仅相当于 cookie。
|
7
abcbuzhiming 2019-10-23 18:02:53 +08:00 1
* jwt 只适合短期认证
* jwt 是把状态保持从服务器移动到了客户端 * 只要你不得不在服务端保存状态(比如你说的服务器可控强制踢出),那么 jwt 就不在合适,jwt 付出了传输内容膨胀的代价,就为了让服务器不保存状态,所以一切需要在服务器保存状态的需求,都不适合 jwt * session 你也可以不用,你完全可以自定义一种比 jwt 简单的多的 token,然后把 token 的保存后移到缓存层,这样你的 http 接入层仍然是无状态的 |