问题描述
- 各位大神,请问些公开部分API关于Token验证的问题
-
是个JavaWeb项目,现在想公开部分API给app端的开发者调用,想在调用API前加个Token验证,但是实现起来有点困惑,请各位大神赐教。
我的问题大概如下:1.用户登录成功后分配一个Token给他 -Token怎样写?(现在思路是根据URL和请求参数生成,并以Json格式传回给用户) -以怎样的方式分配给用户? -用户的Token打算存在内存还是数据库?用户的Token存在哪里?服务器的Token存在哪里? 2.用户每次使用API都验证他的Token和用户名,若吻合则允许访问该API,否则显示警告“令牌失效” -用户调用api时以什么方式将token传给服务器?
解决方案
1、token生成可以采取 时间戳+用户id+请求参数 MD5 处理之后生成,
token存储采取数据库存储加cache,双重存储,而app的token存储在手机客户端
2、手机客户端和java后台之间定义传输格式,然后通过在服务器端添加拦截器或者使用SpringSecurity进行处理,
检验token是否正确,并进行处理
解决方案二:
楼上的说的不错,建议采纳。主要是个验证过程,同时考虑加入过期的功能。
解决方案三:
你说的也很对,那样的话就是在缓存加上存活时间(可以采取redis),和查询数据库比对时间是否大于一个时间,例如1小时
时间: 2024-09-15 21:53:44