无法从服务器端的请求获取令牌

无法从服务器端的请求获取令牌

问题描述:

我指this示例 我试图通过$ localStorage从前端设置标头。我已经在$ localStorage验证了该令牌。无法从服务器端的请求获取令牌

$httpProvider.interceptors.push(['$q', '$location', '$localStorage', function($q, $location, $localStorage) { 
     return { 
      'request': function (config) { 
       config.headers = config.headers || {}; 
       if ($localStorage.token) { 
        config.headers.Authorization = 'Bearer ' + $localStorage.token; 
       } 
       return config; 
      }, 
      'responseError': function(response) { 
       if(response.status === 401 || response.status === 403) { 
        $location.path('/signin'); 
       } 
       return $q.reject(response); 
      } 
     }; 
    }]); 

在服务器端,我试图获取令牌,在我的路由中间件中进行身份验证。

var api = express.Router(); 
    api.use(function(req, res, next) { 
     res.setHeader('Access-Control-Allow-Origin', '*'); 
     res.setHeader('Access-Control-Allow-Methods', 'GET, POST'); 
     res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type, Authorization'); 
     next(); 
    }); 

api.use(function(req, res, next) {  
    var bearerToken; 
    var bearerHeader = req.headers["authorization"]; 

    } 

bearerHeader始终未定义。

+0

有你在调试客户端请求,看if'localStorage.token'不为空,是否真发送到服务器? – pedrofb

+0

是的,它是有效的并发送到服务器。 – NaaN

尝试

var bearerHeader = req.headers["Authorization"]; 

资本A的反而小A

+0

已经做到了。但不工作 – NaaN