是这样的,我们是一个拥有很多用户的平台,需要对第三方开发者开放API。
不过在用户token这里我有点乱,大家看看我理解的、还有做法对不对。
1.我理解用户token就有点类似http的cookie,因为api之间是没有用来维持关系的东西的。当带着token再次请求api时我就知道是某个用户登录了。
2.流程:用户登录成功后,我为这个用户创建一个token并保存到数据库中,返回给开发者这个token,下一次再请求需要权限的API的时候(例如查询用户信息),开发者带上这个token,那么我这边对比一下数据库中的token就知道是哪个用户在请求了,并且知道是合法的请求。
上面2条我的理解和做法有错吗?
我总觉得哪里不妥似得,假如中间被截获了token,那么不是可以伪造用户请求?是还需要一个签名sign吗?
同时你也可以参考spring security 框架里面集成有耶鲁大学的单点登录,授权机制都有!
资料到spring 官网,和cas官网找!