web-dev-qa-db-ja.com

WWW-Authenticateでの認証の問題:ネゴシエート

パスワードで保護されているサイトにアクセスしようとしています。レスポンスヘッダーはWWW-Authenticate: Negotiate

正しいヘッダーを送信してログインプロセスを自動化したい。

基本的には、次のようなものを使用します。

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

交渉に何を使用しますか?

32
fire

Webサーバーは、SPNEGO(シンプルで保護されたGSSAPIネゴシエーションメカニズム)トークンの入力を求めています。

これは、Web SSO(シングルサインオン)に使用する認証のタイプをネゴシエートするためのマイクロソフトの発明です。

  • nTLM
  • またはKerberos。

見る:

29
zcopley

将来の読者の利益のために、この情報をここに入れます。

  • 401(認証されていない)応答ヘッダー ->要求認証ヘッダー

  • 以下にいくつかの WWW-Authenticate応答ヘッダー を示します。 (完全なリストはIANAにあります: HTTP認証スキーム 。)

    • WWW-Authenticate: Basic->許可:基本+トークン-基本認証に使用
    • WWW-Authenticate: NTLM->許可:NTLM +トークン(2チャレンジ)
    • WWW-Authenticate: Negotiate-> Authorization:Negotiate + token-Kerberos認証に使用されます
      • ところで:IANAにはこれがあります Negotiateについての怒った発言この認証方式は、HTTPセマンティクス(接続指向)と構文(使用WWW-Authenticate and Authorizationヘッダーフィールドの構文と互換性のない構文の例)

Authorization: Basicヘッダーを設定できるのは、401チャレンジにWWW-Authenticate: Basicヘッダーもある場合のみです。

ただし、WWW-Authenticate: Negotiateがあるため、これはKerberosベースの認証の場合です。

39
Charith