美文网首页一个JAVA程序员的自我修养app接口
一套基于登录的APP接口安全规则

一套基于登录的APP接口安全规则

作者: 浩楠Bleach | 来源:发表于2016-06-25 19:28 被阅读220次

    最近项目迁移,新订了一套接口安全规范

    记录一下,欢迎大家一起讨论,拍砖。

    因为业务体系原因,这里暂时只说一下基于用户需要登录才可调用的接口安全规则。

    首先服务器与APP终端定义好一套加密规则,即APP通过集成在client内的加密方式可以加密传输参数。

    参数加密大概规则为将参数按一定顺序打散重组,且生成一个类MD5(当然,也可以循环MD5)的不可逆sign 用于服务端校验参数有无被恶意篡改。

    登录接口例: 

    常规接口:

    /login.json?uid=1&pwd=2

    加密后的接口:

    /login.json?udi1w2dpstk&sign=098f6bcd4621d373cade4e832627b4f6

    服务端接受到后首先将参数生成对应的sign 比对传来的sign是否一致,然后解析参数,获取真实需要的参数。

    登录完成后APP将会收到一个有效期为2个小时的token ,服务端将存储这个用户与其对应的token,用于接口鉴权,失效的token是无法通过鉴权的。

    APP拿着这个token既可以去进行其他的操作了。

    获取用户书籍接口(加密后的):

    /books.json?udi1w2dpstk&sign=098f6bcd4621d373cade4e832627b4f6&token=098F6BCD4621D373CADE4E832627B4F6


    暂时先写这么多,有时间继续。

    相关文章

      网友评论

      • 曼谷第一开膛手:我们的token是永久的:smile:
        浩楠Bleach:@定州吴彦祖 反了你,裤衩都没了
      • 曼谷第一开膛手:token两个小时失效了咋办
      • liunewshine:app中的签名算法怎样保证不被反编译
      • fantiq:token两个小时过期后怎么办?
        浩楠Bleach:@fantiq 时长是自己设定的,像多长就多长,而且登陆的话也是接口处理的,用户无感。
        fantiq:@浩楠Bleach 这样就需要用户频繁登录,微信却能做到 一定时间(1个月左右)不会重登的
        浩楠Bleach:@fantiq 重新走登陆,检验用户合法性下发token

      本文标题:一套基于登录的APP接口安全规则

      本文链接:https://www.haomeiwen.com/subject/dpsadttx.html