后端安全验证过程

目标:提供一个接口给第三方服务使用,但因为第三方服务没有用户账号这东西,所以需要进行安全访问控制(Java实现)

例如:http://XXXXX?nonce=XXXX?&timestamp=XXXX&signature=XXXX (请求参数在POST里面)

步骤:

1.在filter中获取参数,验证是第三方服务调用 

  获取nonce、signature、timestamp、请求参数、四个参数,如果有即是第三方服务在调用接口,没有则将请求转发给下一个filter

 

2.检查请求的时效性

  根据上面拿到的时间戳,判断请求是否过期

 

3.获取token

  拿到对应服务的token

 

4.进行签名

   1.将token、timestamp、nonce进行字典排序,作为签名的secret_key

   2.将请求参数作为签名的内容,然后选择签名的方法

   3.生成签名

 

5.验证签名

   将生成的签名与第一个步骤获取的signature比较,相同即是合法操作

 

6.设置所信任的上下文

   根据请求的数据,获取里面能作为设置凭证的参数,将此次请求设置为受信任的请求。

posted @ 2014-03-16 16:25  海角在眼前  阅读(587)  评论(0编辑  收藏  举报