AngularJS为令牌

时间:2016-04-21 11:51:37

标签: angularjs header cors authorization token

所以,过去两天我一直在挖掘,但我不知道为什么这样做不会起作用..

这就是问题,我尝试向api服务器发出请求,我必须在请求中添加令牌,但是当我将令牌添加到头部授权时,我得到了来自服务器

这个api我已经对邮递员及其工作进行了测试,但是当我实施角度时它没有工作

这是我的代码:

$http({
            method: 'POST',
            url: url,
            data: data,
            headers: {
                "Authorization": "Bearer xxxxxxxxxxx",
                "Content-Type": "application/x-www-form-urlencoded"
            }
        })

这是chrome的req标头: img

所以在这种情况下,这是我的代码,还是服务器问题?

1 个答案:

答案 0 :(得分:0)

  angular
    .module('app')
    .factory('authInterceptor', authInterceptor);
authInterceptor.$inject = ["$q","$location"];
function authInterceptor($q, $location) {
        return {
          // Add authorization token to headers
            request: function (config) {
             // get token from a cookie or local storage
            var token = "token string ";
            config.headers = config.headers || {};
            config.headers.Authorization = "Bearer " + token;
            return config;
          },
          // Intercept 401s and redirect you to login
          responseError: function(response) {

            if(response.status === 401) {
             // redirect to some page

              // remove any stale tokens
              return $q.reject(response);
            }
            else {
              return $q.reject(response);
            }
          }
        };
      }

然后像这样注入拦截器

$httpProvider.interceptors.push('authInterceptor');