web-dev-qa-db-ja.com

REST APIのSSLを介したHTTP基本認証

Restful APIの概念は初めてです。

私は、オンラインストアの安らかなAPIを設計しています。

SSLを介した基本的なHTTP認証の概念を適切に理解していません。

つまり、リクエストごとに、ユーザーはユーザー名とパスワードを再度入力する必要がありますか?

誰かがそれがどのように機能し、どのように使用されるのかを詳細に説明できますか?

前もって感謝します。

42
Kanishk Dudeja

基本認証は、ユーザーとbase64でエンコードされたパスを持つ単なる標準HTTPヘッダーです。

許可:基本QWxhZGRpbjpvcGVuIHNlc2FtZQ ==

http://en.wikipedia.org/wiki/Basic_access_authentication )。SSL以外の接続を介してこのヘッダーで残りのAPI呼び出しを認証すると、問題は中間の誰でもデコードできることです。認証ヘッダーからのユーザー名とパスワード。

パスワードが安全に送信されるようにするには、通常のHTTP接続の代わりにHTTPSを使用する必要があります。 HTTPとHTTPSの唯一の違いは、HTTPSが単純なTCP/IPではなくTCP/IP経由でSSL/TSLセキュリティプロトコルを使用していることです。

これには、HTTPS接続の確立がCPUで通常のHTTP接続よりも高価になるという欠点があります。このヘッダーを使用してすべてのリクエストでレストコールを認証する場合、レストAPIをHTTPS接続でのみ使用できるようにする必要があることは明らかです。

71
Ovidiu Buligan