请教一下BuildAdmin生成token和firebase/php-jwt生成的token方式哪个更胜一筹呢?
脚本
后端
问答社区

看了BuildAdmin登录时生成token和登录后得token比对,焦点在这个函数getEncryptedToken

/***
protected function getEncryptedToken(string token): string
{
config = Config::get('buildadmin.token');
return hashhmac(config['algo'], token,config['key']);
}
***/

BuildAdmin 生成token和验证token都是通过buildadmin.php里的'key'和'algo',通过getEncryptedToken这个函数用hash_hmac生成并保存在token表中,
BuildAdmin客户端传过来的token跟token表中的token不一样,但都可以通过getEncryptedToken这个函数再次生成比对,比对一样就表明登录,
这样的做法跟firebase/php-jwt生成的token有什么优劣势呢?

很渴望大神回复一下,谢谢了!

1个回答默认排序 投票数排序
YANG001
YANG001
这家伙很懒,什么也没写~
1天前

JWT
1、一次性,无法修改,无法作废,一旦签发,到期之前始终有效,就这一点,它就不适合后台系统(来个服务器二次验证?那就失去无状态的特性了,何必jwt?)
2、性能影响:它太长,多数请求它会比params和body还要大
3、安全性:没有所谓的额外安全性,payload只是使用了base64编码而已
4、...

终上所述,在后台系统中,无论token方案是怎样的,建议首先放弃使用jwt

请先登录
0
1
0
1