2 levycc levycc 于 2016.03.01 17:43 提问

各位大神,请问些公开部分API关于Token验证的问题

是个JavaWeb项目,现在想公开部分API给app端的开发者调用,想在调用API前加个Token验证,但是实现起来有点困惑,请各位大神赐教。
我的问题大概如下:

 1.用户登录成功后分配一个Token给他
 -Token怎样写?(现在思路是根据URL和请求参数生成,并以Json格式传回给用户)
 -以怎样的方式分配给用户?
 -用户的Token打算存在内存还是数据库?用户的Token存在哪里?服务器的Token存在哪里?



2.用户每次使用API都验证他的Token和用户名,若吻合则允许访问该API,否则显示警告“令牌失效”
 -用户调用api时以什么方式将token传给服务器?

3个回答

qq_27704715
qq_27704715   2016.03.01 18:13
已采纳

1、token生成可以采取 时间戳+用户id+请求参数 MD5 处理之后生成,
token存储采取数据库存储加cache,双重存储,而app的token存储在手机客户端
2、手机客户端和java后台之间定义传输格式,然后通过在服务器端添加拦截器或者使用SpringSecurity进行处理,
检验token是否正确,并进行处理

levycc
levycc 谢谢您的回答,看了之后思路清晰多了。
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.03.02 09:15

楼上的说的不错,建议采纳。主要是个验证过程,同时考虑加入过期的功能。

levycc
levycc 听了您的建议加了个过期功能,谢谢您的回答。
接近 2 年之前 回复
qq_27704715
qq_27704715   2016.03.02 14:24

你说的也很对,那样的话就是在缓存加上存活时间(可以采取redis),和查询数据库比对时间是否大于一个时间,例如1小时

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!