基本認證

認證框架 - 基本認證 (Basic Authentication)

basic-authentication

圖片來自於:Microsoft - Basic Authentication in ASP.NET Web API

  • 基本認證是一種用來允許 Client 在請求時,提供帳號密碼做為身份憑證的一種登錄驗證方式。
  • 定義在 HTTP 1.0 規範 RFC 1945
  • base64encode(username+":"+password))

Request

GET /private/index.html HTTP/1.0
Host: localhost
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

成功回應

HTTP/1.0 200 OK
Server: HTTPd/1.0
Date: Sat, 27 Nov 2004 10:19:07 GMT
Content-Type: text/html
Content-Length: 10476

失敗回應

HTTP/1.0 401 Authorization Required
Server: HTTPd/1.0
Date: Sat, 27 Nov 2004 10:18:15 GMT
WWW-Authenticate: Basic realm="Secure Area"
Content-Type: text/html
Content-Length: 311

可以容易地編碼和解碼

$ echo -n "Aladdin:open sesame" | base64
QWxhZGRpbjpvcGVuIHNlc2FtZQ==
$ echo -n "QWxhZGRpbjpvcGVuIHNlc2FtZQ==" | base64 -D
Aladdin:open sesame

優點

  • 支援度高
  • 非常容易實現

缺點

  • 基本認證機制是假設 client 端和 server 主機之間的連接是安全,如果沒有使用 SSL / TLS 傳輸層安全的協議,明碼很容易被攔截解密。

results for ""

    No results matching ""