2015-10-02 50 views
0

我正在嘗試執行帶有基本身份驗證的POST請求以從API獲取訪問令牌。 我必須在請求的主體中傳遞grant_type和一個代碼,然後在頭中使用用戶名和密碼進行基本身份驗證。整個請求必須是x-www-form-urlencoded; charset = UTF-8編碼。帶有基本身份驗證不起作用的POST請求

看起來我在這裏深度不夠,因爲我不斷收到錯誤的請求錯誤。

這是代碼

var code_cont = examplecode; 

    $.ajax({ 
    type: 'POST', 
     url: 'https://example.com', 
     data: {"grant_type":'authorization_code', 'code': code_cont}, 
     dataType: 'json', 
     success: function(data) { 
      console.log(data); 
     }, 
     beforeSend : function(req) { 
      req.setRequestHeader('Authorization', 'Basic username:password'); 
     }, 
    }); 

用戶名和密碼,我插入相關信息的相關部分。

任何人都可以指出我在正確的方向,我要去哪裏錯了嗎? 非常感謝!

回答

0

您可以像使用jQuery一樣捕獲Ajax調用,並添加適當的base64編碼。

beforeSend: function(xhr) { xhr.setRequestHeader("Authorization", "Basic " + btoa(username + ":" + password)); };

注 - 出於安全原因(這是微不足道的解碼頭,竊取密碼和用戶名),你應該使用SSL或用戶與服務器之間的加密一些其他形式。

相關問題