Main Content

matlab.net.http.field.AuthenticateField クラス

名前空間: matlab.net.http.field
スーパークラス: matlab.net.http.HeaderField

HTTP WWW-Authenticate または Proxy-Authenticate ヘッダー フィールド

説明

AuthenticateField オブジェクトには、サーバーからの 1 つ以上のチャレンジが含まれ、これにより認証情報を求めます。サーバーまたはプロキシは AuthenticateField を応答メッセージ内に作成します。

認証を要求するサーバーまたはプロキシ経由で要求メッセージを送信するとき、MATLAB® は次の場合に自動的にサーバーまたはプロキシに対して認証を行おうとします。

  • HTTPOptions.Authenticate プロパティが true (既定)

  • HTTPOptions.Credentials プロパティに必要な名前とパスワードが含まれる。

認証が正しく行われると、応答メッセージは OK ステータスを返し、認証フィールドを含みません。

認証を無効にした場合、または認証に失敗した場合、応答メッセージは認証フィールドを返します。その場合、応答メッセージのステータス コードは 401 (Unauthorized) または 407 (ProxyAuthenticationRequired) になります。AuthInfo オブジェクトを検証し、資格情報を含む要求メッセージに適切な AuthorizationField を追加して応答します。または、正しい Credentials プロパティを HTTPOptions で設定して要求を再送信します。

サーバーまたはプロキシが MATLAB でサポートされない認証スキームを要求する場合、認証プロトコルを自分で実装しなければなりません。適切な資格情報と他の情報で要求メッセージを作成します。

クラスの属性

Sealed
true

クラス属性の詳細については、クラスの属性を参照してください。

作成

説明

obj = matlab.net.http.field.AuthenticateField(name,value) は、Name プロパティを name に、Value プロパティを value に設定して認証ヘッダー フィールドを作成します。

サーバーはこのフィールドを応答メッセージ内に作成します。このコンストラクターは、テスト目的で使用します。

プロパティ

すべて展開する

ヘッダー フィールド名。'WWW-Authenticate' または 'Proxy-Authenticate' として指定します。

属性:

GetAccess
public
SetAccess
public

チャレンジのコンマ区切りリスト。matlab.net.http.AuthInfo オブジェクトのベクトル、または以下で定義されている書式の string として指定します。RFC 7235 Hypertext Transfer Protocol (HTTP/1.1): Authentication and RFC 2617 HTTP Authentication: Basic and Digest Access Authentication (Internet Engineering Task Force (IETF®) の Web サイト上)。このフィールドを解析するには AuthenticateField.convert メソッドを使用します。

属性:

GetAccess
public
SetAccess
public
Dependent
true

メソッド

すべて展開する

すべて折りたたむ

この例では、要求メッセージで認証スキームを設定する方法を示します。

イメージの URL の指定

import matlab.net.*;
import matlab.net.http.*;

httpsUrl = "https://requestserver.mathworks.com";
uri = URI(strcat(httpsUrl, "/assets/computerVision.jpg?authenticate=digest"));

資格情報の設定

認証スキームを Digest に設定し、ログイン資格情報を指定します。

cred = Credentials("Scheme", "Digest", "Username", "testName", "Password", "testPass");
options = HTTPOptions;
options.Credentials = cred;
options.Authenticate = false;
req = RequestMessage('GET');
response = req.send(uri, options);
authenticateField = response.getFields("WWW-Authenticate");
disp(authenticateField)
  AuthenticateField with properties:

     Name: "WWW-Authenticate"
    Value: "Digest realm="Digest Authentication",qop="auth",nonce="0.3598425461739989",opaque="0d3ced1a5756977875a15f93cc12dd21""

バージョン履歴

R2016b で導入