zoukankan      html  css  js  c++  java
  • 十二、存token获取token刷新token发送header头

    //测试token

    //获取token

    function setToken(data){

        var storage = window.localStorage;

        if(!storage){

            alert("浏览器不支持localstorage");

            return false;

        }

        var token = data.access_token;

        storage.setItem("user_token", token);

        storage.setItem("user_login_time", new Date().getTime());//保存登录时间

    }

    function getToken()

    {

        var storage = window.localStorage;

        var current = new Date().getTime();//拿token的时间

        var token = storage.user_token;//token的值

        var old_time = storage.user_login_time;//登录的时间

        var time = (current - old_time) /1000;//时间差

        var out_time = 3600;// 超时设置

        var parse_time = 24 * 60 * 60;// 刷新设置

       //手动清除缓存
       var length = window.localStorage.length;
       if(length==0){ 
    window.location.href = "login.html"
    }

        //超时

        if(parse_time > time && time >= out_time) {

            refreshToken(token);

        }

        //1天过期 重新登录

        if(time >= parse_time) {

            window.location.href = "login.html";

        }

        return token;

    }

    function headerSetup(token)

    {

        $.ajaxSetup({

            'headers':{

                'Authorization': 'Bearer '+ token,

            }

        });

    }

    //刷新token

    function refreshToken(token)

    {

          if(window.localStorage.length==0){

               window.localStorage.clear();

               window.location.href = "login.html";

          }

        $.ajaxSetup({

            'headers': {

                'Authorization': 'Bearer ' + token,

            }

        });

        $.ajax({

            url:"http://ezist.cn/api/authorizations/current",

            type:'post',

            dataType: "json",

            data: {},

            success: function(data) {

                setToken(data);

            },

            error: function (data) {

                console.log("数据请求失败");

                window.location.href='login.html';

            }

        });

    }

  • 相关阅读:
    WinForm 无边框窗体 拖动工作区移动窗体
    [CSS]火狐和IE对css样式解释的差异
    md类型文件迁移至Notion(img资源也可以上传)
    google推出notebook软件
    刚收到几个google analytics 邀请,有真正需要的我可以送给他一个
    最近用drupal做了一个CMS网站
    google adsense 又增加了Picasa的推介,我已加上
    googlepages空间的一个bug
    近段时间比较郁闷
    开复与学生面对面
  • 原文地址:https://www.cnblogs.com/deng-jie/p/9104301.html
Copyright © 2011-2022 走看看