JS ajax實現Basic Auth認證通過方法

來源:互聯網
上載者:User

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!');
  }
});

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.