2017-06-11 9 views
0

を送信:私はasp.netのアイデンティティで固定MVCプロジェクトを持っている認証要求

をこれは私のログイン機能である:

self.login = function() { 
    event.preventDefault(); 
    if (!$('#formLogin').valid()) { 
     return false; 
    } 
    var loginData = { 
     grant_type: 'password', 
     username: self.userName(), 
     password: self.password() 
    }; 
    $.ajax({ 
     type: 'POST', 
     url: '/API/Token', 
     data: loginData 
    }).done(function (data) { 
     // Cache the access token in session storage. 
     sessionStorage.setItem(tokenKey, data.access_token); 
     self.authenticate(); 
     //change status of Login button to Logout 
     self.redirect('Users'); 
    }).fail(showError); 
} 

self.authenticate = function() { 
    self.token = sessionStorage.getItem(tokenKey); 
    var headers = {}; 
    console.log(self.token); 
    if (self.token) { 
     headers.Authorization = 'Bearer ' + self.token; 
    } 
    $.ajaxSetup({ 
     headers: headers 
    }); 
} 

正常に動作します。つまり、私は成功しtokenを取得し、ヘッダがあります正しくセットアップしてください。

「メッセージ」:

self.getUsers = function() { 
    $.get("/API/Users/GetUsers/"); 
} 

私は、サーバーから401エラーが表示されます。

問題は、私は、たとえば要求 - を送信しようとするということである「承認は拒否されましたこの要求に対して。

私は間違っていますか?

答えて

0

jQuery.ajaxofficial documentationによると、各要求のカスタムヘッダーを設定するためにこれを使用します。

$.ajaxSetup({ 
    beforeSend: function(xhr) { 
     xhr.setRequestHeader('Authorization', '...'); 
    } 
}); 
+0

は、あなたの答えをありがとう、まだ動作していません。.. – user3378165

関連する問題