Basic Auth是開放平臺的一種認證方式,簡單點說就是每次請求API時都提供使用者的username和password。
優點:
使用非常簡單;
開發和偵錯工作簡單;
沒有複雜的頁面跳轉邏輯和互動過程;
更利於發起方控制;
缺點:
安全性低,每次都需要傳遞使用者名稱和密碼,使用者名稱和密碼很大程度上存在被監聽盜取的可能;
同時應用本地還需要儲存使用者名稱和密碼,在應用本身的安全性來說,也存在很大問題;
開放平臺服務商出於自身安全性的考慮(第三方可以得到該服務商使用者的賬號密碼,對於服務商來說是一種安全隱患),未來也會限制此認證方式;
使用者如果更改了使用者名稱和密碼,還需要重新進行密碼校驗的過程。
使用上的話,我們將 賬號:密碼 形式的字串以base64加密,然後在字串頭加上"Basic "。下面是程式碼:
public String getBaseAuth(String userName, String password){
String auth = userName + ":" + password;
String base64Auth = Base64.encodeBase64URLSafeString(auth.getBytes());
return "Basic " + base64Auth;
}
然後我們在請求中加一個引數即可。如下:
@RequestHeader("Authorization") String authorization
也可以在使用攔截器統一對request處理。
Posrman 可以直接設定 Basic Auth。
上面兩種方式都可以在Postman 設定 Basic Auth。