现在的位置: 首页 > 架构设计 > 正文

Web API应用架构设计分析

2020年01月07日 架构设计 ⁄ 共 826字 ⁄ 字号 评论关闭

WebAPI接口的访问方式,大概可以分为几类:

  1)一个是使用用户令牌,通过WebAPI接口进行数据访问。这种方式,可以有效识别用户的身份,为用户接口返回用户相关的数据,如包括用户信息维护、密码修改、或者用户联系人等与用户身份相关的数据。

  2)一种是使用安全签名进行数据提交。这种方式提交的数据,URL连接的签名参数是经过安全一定规则的加密的,服务器收到数据后也经过同样规则的安全加密,确认数据没有被中途篡改后,再进行数据修改处理。因此我们可以为不同接入方式,如Web/APP/Winfrom等不同接入方式指定不同的加密秘钥,但是秘钥是双方约定的,并不在网络连接上传输,连接传输的一般是这个接入的AppID,服务器通过这个AppID来进行签名参数的加密对比,这种方式,类似微信后台的回调处理机制,它们就是经过这样的处理。

  3)一种方式是提供公开的接口调用,不需要传入用户令牌、或者对参数进行加密签名的,这种接口一般较少,只是提供一些很常规的数据显示而已。

WebAPI使用安全签名的实现

  首先我们为用户注册的时候,需要由我们认可的终端发起,也就是它们需要进行安全签名,后台确认签名有效性,才能正常实现用户注册,否则遭到伪造数据,系统就失去原有的意义了。

  其实我们获得用户的令牌,也是需要进行用户安全签名认证的,这样我们才有效保证用户身份令牌获取的合法性。

  加密签名在服务端(WebAPI端)的验证流程参考微信的接口的处理方式,处理逻辑如下所示。

  1)检查timestamp与系统时间是否相差在合理时间内,如10分钟。

  2)将appSecret、timestamp、nonce三个参数进行字典序排序

  3)将三个参数字符串拼接成一个字符串进行SHA1加密

  4)加密后的字符串可与signature对比,若匹配则标识该次请求来源于某应用端,请求是合法的。

  结束语:以上就是关于WebAPI应用架构设计分析的全部内容,更多内容请关注学步园。

抱歉!评论已关闭.