最近几天,自行脑补了后台API权鉴相关知识。
找了不少资料,看了不少资料,转入正题:
传统的网站,用户身份识别信息基本是存session,接着就是各种内存数据库
(redis、Memcached。。。。),最后,就是本文的主角 jwt;先放第一波比较(如有错误,欢迎纠正):
session | 内存数据库缓存方案 | jwt | |
分布式 | 支持 | 支持 | 支持 |
依赖web中间件 | 强依赖 | 不依赖 | 不依赖 |
服务器数据存储方式 | 内存 | 内存 | 不存储 |
验证方式 | 取服务器内存数据 | 取数据库数据 | 算法验证 |
执行效率 | 低 | 低 | 高 |
通过表格,可以看到,JWT只通过算法实现对Token合法性的验证,不依赖数据库,Redis、Memcached的等存储系统,因此可以做到跨服务器验证,只要密钥和算法相同,不同服务器程序生成的Token可以互相验证。