【问题标题】:Web api and Angularjs authentication failureWeb api 和 Angularjs 身份验证失败
【发布时间】:2015-04-05 01:15:06
【问题描述】:

我尝试使用 Angular 向 WebApi 服务器发出经过身份验证的请求。

这是我提出请求的方式:

var config = {headers: {Authorization: "Bearer " + JSON.parse($cookies.token)}};
var url = 'http://localhost:53889/api/Values/5';

$http.get(url,config).success(function(response){
     console.log(response);
})

这就是我设置身份验证的方式:

login: function(credentials){
          return $http({
             method: 'POST',
             url: url + '/Token',
             headers: {'Content-Type' : 'application/x-www.form-urlencoded'},
             transformRequest : function(obj){
                 var str = [];
                 for(var p in obj){
                   str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
                 }
                 return str.join("&");
             },
               data: credentials
        });

var success = function(data){
    AuthorizationFactory.setCurrentUser(credentials.username);
    ApiFactory.init(data["access_token"]);
    $cookieStore.put('token', JSON.stringify(data["access_token"]));
};

成功方法是这样调用的:AuthorizationFactory.login(credentials).success(success)

但每次我尝试发出经过身份验证的请求时,都会收到 401 错误消息。

标题如下所示:

Accept:application/json, text/plain, */*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:ro-RO,ro;q=0.8,en-US;q=0.6,en;q=0.4
Authorization:Bearer "4N_9ScOCtFxTgNs....t"
Cache-Control:no-cache
Connection:keep-alive
Cookie:.AspNet.Cookies=Rx...y0OTHrvE
Host:localhost:53889
Pragma:no-cache
Referer:http://localhost:53889/app/
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36
X-Access-Token:"\"4N_9ScO...XZ6t\"" 

我做错了什么?我错过了什么?

【问题讨论】:

    标签: asp.net angularjs authentication asp.net-web-api


    【解决方案1】:

    不要在Authorization 标头中使用引号。它应该是这样的:

    Authorization: Bearer your_token_here
    

    【讨论】:

    • 这很容易。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 2015-07-22
    • 2019-07-16
    • 1970-01-01
    • 1970-01-01
    • 2016-05-13
    • 1970-01-01
    相关资源
    最近更新 更多