如何使用angularjs通过头传递auth令牌

时间:2014-09-19 12:31:19

标签: javascript angularjs

我试图通过标题传递我的api authtoken。我是角度js的新手,所以我无法做到这一点。我的代码:

$scope.init=function(authtoken,cityname){   
        $scope.authtoken=authtoken;                     
        $scope.cityname=cityname;               
        $http({method: 'GET', url: '/api/v1/asas?city='+$scope.cityname+'&auth='+$scope.authtoken}).success(function(data) {                

现在我正在api url中传递authtoken。但我想通过标题传递令牌。

2 个答案:

答案 0 :(得分:5)

通常您会在标头中传递身份验证令牌。以下是我为其中一个应用程序执行此操作的方法

angular.module('app', []).run(function($http) {
        $http.defaults.headers.common.Authorization = token;
    });

这将默认情况下将身份验证令牌添加到标头,这样您每次发出请求时都不必包含。如果你想在每次通话中都包含它,那么它将是这样的

$http({
    method: 'GET', 
    url: '/api/v1/asas?city='+$scope.cityname,
    headers:{
        'Authorization': $scope.authtoken
    }
}).success(function(data) {
    //success response.
}).error(function(error){
    //failed response.
});

答案 1 :(得分:4)

您可以在应用程序运行时配置

youapp.run(function($http) {
    $http.defaults.headers.common.Authorization = 'Basic YmVlcDpib29w'
});

或传递它抛出每个请求

$http({
    url:'url',
    headers:{
        Authorization : 'Basic YmVlcDpib29w'
    }
})

Angular $Http reference