本人最新在用golang的gin框架写一个restful服务器,在使用jwt-go 生成token时有了一个疑问,就是生成token后,将token返回给客户端,然后客户端将token放在headerds的Authorization中,我考虑到有这么一种情况,就是用户的userID为1,然后login后生成token,该token肯定是合法的,然后客户端拿到这个token,将cookies或http头部的userID改为2,再和token一起带过来这样进行操作,服务器如何判断呢?这个和重放攻击好像有有些不一样,重放攻击是拿到数据包重新访问一次,而这种情况是token是正确的,但带过来的userID是错的
1、是不是使用cookie的httpOnly 字段去限制客户端访问?
2、或者说每次都进行签名?那这样相当于每次访问都要计算一次,计算量很大?
3、还是说一定要使用非对称密钥,将http变为https才安全?
本人服务端新人,希望各位能够解答一下我的疑问
你为什么要前端传userID呢,你的token应该是对应userID的。
不要用户传,这个是你服务端自己记录对应关系的,拿到合法的token,你就应该知道是哪个用户。