JSON Web Token 如何保证 token 的安全性?

事情的起因: 之前一直跟安卓和 ios 做 api,使用 jwt 的形式进行交互。

今天突发奇想,如何保证 token 的安全性那。假如我拿到 token 就可以调用服务器端的任何接口。这是多么的可怕。

目前为上线的项目都是 https

阅读 8.9k
5 个回答
  1. token设置有效期
  2. token可以再次加密
  3. 使用https
  4. 服务器做好预警和防护

这个跟web端类似啊,浏览器是可信赖的,客户登录之后可以拿到自己的token,如果一些API仅用token来着鉴权,假如这个客户是个开发人员,他可能通过这个token获取到其他接口数据,不过这个前提是接口开放给了该用户。
可以尝试学习那些开放平台提供API接口的鉴权方式,通过客户端和服务端相同的加密方式,在请求中只暴露加密后的token和公钥,秘钥存于安卓,iOS客户端。这种秘钥和加密方式泄露的可能性就很低了

1、任何token都应该是有时效的
2、验证token的密钥是存在服务端的
3、如果访问的是敏感信息,单纯加token是不够的,通常会再配置白名单

今天突发奇想 ,假如我拿到了你的银行卡和密码 ,我就可以去ATM取钱了,(最后发现余额0.00)是不是就说明银行卡和密码这种方式就不安全?

你的token别其他拿到了,就说token不安全?

你的问题不是token安全性问题,而是你是怎么假如拿到了token? 你自己登录了,拿到自己的token了,没问题,其他用户登录了也把token发给你? 凭什么? 如果其他用户不发给你你怎么拿到token?

token只是key, key后面验证的数据, 不会告诉你的..

就比如微信的支持二维码, 就算你截图保留, 也无法第二次付款.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进