我们接口开发遇到一个问题,是这样的。例如我们使用 oauth 2.0 的密码协议认证。用户登录后认证系统给一个有时效性的 token,然后客户端每次请求的时候带上这个 toekn 访问 restful 资源。但是遇到一个蛋疼的问题就是怎么保证用户请求的资源是合理的。
场景: 用户 A 要删除他的车辆信息。那么 client 提交过来 用户主键和车辆主键,先判断当前车辆是否属于当前用户则数据可以进行删除动作。这时候如果他人拦截模拟登录,然后传递一个非当前用户的主键(胡乱编造的主键)然后主动探测的模式去匹配对应的主键,去恶意删除他人的用户信息。这样就会出现非常大的危害。例如:所有主键都是通过自增的方式生成的,这样恶意删除的几率就会大得多。
怎么样才能避免这种情况出现呢?之前也没设计过关于 restful 相关的内容,也没有这方面的经验。 有种本方法可以实现,就是 把 token 和 用户信息在后端绑定(有点像 session 的形式),但是感觉这种又违背了 restful 的原则。有没有好的解决方案,或者我理解上的问题?