接口设计需要给客户端签名吗?

目前接口是这样的:
在用户登录之后随机生成一个token 将token的值作为Redis缓存的key
缓存的值就是用户的信息 包括用户id,用户昵称 用户头像等;

接口访问和鉴权

用户在访问接口的时候会在header中携带token过去
在前置操作中检测token是否存在 并且是否有效 如果无效返回http code 401
如果有效 将token的过期时间增加 将用户id注入到请求对象里面的uid

服务类service\Token
该类提供对token的操作 比如过期时间的增加 根据token获取uid等

疑问

之后再网上看到说这样很不安全 需要有签名和签名算法

请问一下大家这个签名该如何设计以及使用??? 万分感谢

最后问下 我上面这种接口设计的方式是否合理? 因为是自学 所以没太多的人指教 所以有点懵

阅读 900
评论
    5 个回答

    如果加签名,建议最好全局都加,不要遗漏,保持统一。
    并且安全性也会提高很多。签名的算法有很多,简单点的可以是

    // 伪代码
    按照字符升序(md5(时间戳+参数+你自定义一个key)+时间戳+参数 )
      相似问题
      推荐文章