Basic Auth簡單點說明就是每次請求API時都提供使用者的username和password。
。這種方式優點和缺點都很明顯。
優點:
u 使用非常簡單,
u 開發和調試工作簡單,
u 沒有複雜的頁面跳轉邏輯和互動過程;
u 更利於發起方控制;
缺點:
u 安全性低,每次都需要傳遞使用者名稱和密碼,使用者名稱和密碼很大程度上存在被監聽盜取的可能;
u 同時應用本地還需要儲存使用者名稱和密碼,在應用本身的安全性來說,也存在很大問題;
u 開放平台服務商出於自身安全性的考慮(第三方可以得到該服務商使用者的帳號密碼,對於服務商來說是一種安全隱患),未來也會限制此認證方式(Twitter就計劃在6月份停止Basic Auth的支援)
u 使用者如果更改了使用者名稱和密碼,還需要重新進行密碼校正的過程。
就是每次請求的時候望header頭添加一個經過base64加密過後的使用者名稱和密碼資訊。
jq為我們提供了很簡單的方式:
$.ajax({
url: '1.php',
contentType: "application/json",
dataType: "json",
username:'admin',
password:'123456',
type: "GET",
success:function (data) {}
})
很簡單吧,jq已經給我們封裝好了,我們只需要傳入參數username和password即可。
下面這種方式也行,更直接的體現出BASIC是怎麼組合的,其中btoa是轉換base64的方法,具體的各位可以百度一下。
$.ajax({
type: "GET",
url: "index1.php",
dataType: 'json',
async: false,
headers: {
"Authorization": "Basic " + btoa(USERNAME + ":" + PASSWORD)
},
data: '{ "comment" }',
success: function (){
alert('Thanks for your comment!');
}
});