• 通用授权
    • 后台
    • 前端 自动登录页面
    • APP端 自动登录

    通用授权

    基于http header的授权

    后台

    1. 修改配置文件为前端自动登录页面
      图片
    2. 修改APP登录接口
      图片

    前端 自动登录页面

    1. 获取url上的参数 login_code,redirect
    2. 调用接口 http://ztbcms.loc/Auth/AppLogin/loginByLoginCode
    3. 登录成功保存access_token,登录失败则不保存
    4. 跳转目标页redirect
      图片

    APP端 自动登录

    1. 调用登录接口 http://ztbcms.loc/Auth/AppLogin/appLogin
      图片
    2. 缓存数据 userid,access_token,platform
    3. 签名,规则请看下面
    4. 构造自动登录链接
      ```
      http://ztbcms.loc/Auth/AppLogin/loginRedirect?uid=1&timestamp=1527833183&platform=iOS&redirect=http%3a%2f%2fwww.zhutibang.cn&sign=27e5a7cf706d1a6c06133d8443ebdee6

    uid=xxx //用户ID,登陆接口中返回的user_id
    timestamp=xxx //创建参数时的时间戳,单位:秒 10位数字,用于判断操作是否超时,目前默认5分钟后过期
    platform=xxx //来自哪个平台,安卓端请填写 Android 苹果端请填写 iOS
    redirect= //跳转目标页,需要urlencode
    sign=xxx //参数签名,规则请看下面

    1. 5. 跳转到此链接即可完成登录
    2. ### 签名规则
    3. 假设传送的参数如下:

    uid:12
    timestamp:1527488472
    platform:iOS
    redirect:http%3a%2f%2fjingshui.front.ztbcms.cn%2f%23%2fcontrol

    1. 第一步:对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:

    platform=iOS&redirect=http%3A%2F%2Fjingshui.front.ztbcms.cn%2F%23%2Fcontrol&timestamp=1527488472&uid=12

    1. 第二步:拼接access_tokenaccess_token为登录接口返回

    platform=iOS&redirect=http%3A%2F%2Fjingshui.front.ztbcms.cn%2F%23%2Fcontrol&timestamp=1527488472&uid=12&access_token=qydRzZEYq6bPiq58LdgpwoVLCjWAlh9MXiGNFpEGOADv4dXllZhVi7D0zvxNSwn2wlL8XhI5oUXquaP8iVLvErnvpStEAleeGvGTpATZRUhHYXA6DcKUhKCGhmA47hGv

    1. 第三步:md5,获得签名

    9583ca6d15af2987960e163a85299f21
    ```