API接口token、timestamp、sign具体实现


API接口token、timestamp、sign具体实现

文章插图
 
一:token 简介Token:访问令牌access token, 用于接口中, 用于标识接口调用者的身份、凭证,减少用户名和密码的传输次数 。一般情况下客户端(接口调用方)需要先向服务器端申请一个接口调用的账号,服务器会给出一个AppId和一个key, key用于参数签名使用,注意key保存到客户端,需要做一些安全处理,防止泄露 。
【API接口token、timestamp、sign具体实现】Token的值一般是UUID,服务端生成Token后需要将token做为key,将一些和token关联的信息作为value保存到缓存服务器中(redis),当一个请求过来后,服务器就去缓存服务器中查询这个Token是否存在,存在则调用接口,不存在返回接口错误,一般通过拦截器或者过滤器来实现,Token分为两种:
  • API Token(接口令牌): 用于访问不需要用户登录的接口,如登录、注册、一些基本数据的获取等 。获取接口令牌需要拿appId、timestamp和sign来换,sign=加密(timestamp+key)
  • USER Token(用户令牌): 用于访问需要用户登录之后的接口,如:获取我的基本信息、保存、修改、删除等操作 。获取用户令牌需要拿用户名和密码来换
关于Token的时效性:token可以是一次性的、也可以在一段时间范围内是有效的,具体使用哪种看业务需要 。
一般情况下接口最好使用https协议,如果使用http协议,Token机制只是一种减少被黑的可能性,其实只能防君子不能防小人 。
一般token、timestamp和sign 三个参数会在接口中会同时作为参数传递,每个参数都有各自的用途 。


    推荐阅读