请问jwt在安全性高的应用平台中使用合适吗,安全吗
Closed this issue · 2 comments
zjsxfly commented
方案的话参照您说的使用userid作为签名,现在不确定在平台大规模使用这个方案后是否安全。
zjsxfly commented
jwt有没 有什么大型网站的使用案例
bigmeow commented
@zjsxfly 你理解有误,并非使用userid作为签名,userid只是作为加密的一部分存放于token中的数据而已,是说你在token中可以存放这种ID标识数据用以区分不同用户,它是被暴露出来的;真正参与加密的没有被暴露出来的,则是只存放于服务端的密钥,它位于我示例中Jwt.java的第28行,密钥不暴露,则TOKEN就无法被轻易暴力破解;
这里的例子只是最基本的一种较为安全的登录授权方案,若你是金融这种安全性要求非常高的,也可以使用这种方式,但是需要多方面加强:例子中的JWT的算法使用HS256算法,你可以升级为RSA非对称加密,增加破解难度;token使用一次就更新,再增加一层access token,使用access token来换取token,再使用token来获取数据。。。;token加盐(salted);http协议使用https等等。深了去了,多数情况下作为web app 或者混合app的登录授权校验足以。
你若要保证所有api的调用安全,可以参考腾讯的微信公众平台api接口设计http://mp.weixin.qq.com/wiki/14/9f9c82c1af308e3b14ba9b973f99a8ba.html