Main Content

matlab.net.http.AuthInfo クラス

名前空間: matlab.net.http

HTTP メッセージの認証情報または権限情報

説明

MATLAB® は、HTTPOptions オブジェクトで認証情報が提供されると要求メッセージ内の認証を自動的に処理します。認証の確認、認証情報の指定、または MATLAB HTTP インターフェイスで自動的に処理されない OAuth のような認証プロトコルの実装を行うには、AuthInfo クラスを使用します。

AuthInfo クラスは、次の場合に返される 1 つの認証チャレンジを表します。

  • 応答メッセージ用に AuthenticateField.convert を呼び出す。

  • AuthorizationField ヘッダー フィールド内の資格情報を要求メッセージに挿入する。AuthInfo オブジェクトを Authorization フィールドに格納すると、MATLAB は必要に応じて値を引用符で自動的に囲み、エスケープ文字を挿入します。

  • サーバーが auth-info データを AuthenticationInfoField ヘッダー フィールドに返す。

AuthenticateField メソッドおよび AuthorizationField convert メソッドは、フィールドの各 name=value ペアの属性を Parameters プロパティのパラメーターの名前と値のペアに変換します。値を囲むエスケープ文字と引用符は削除されます。

詳細については、Internet Engineering Task Force (IETF®) Web サイトで RFC 7235 Authentication および RFC 2617 Host-Imp Interface (Basic 認証および Digest 認証) を参照してください。

クラスの属性

Sealed
true

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

作成

説明

obj = matlab.net.http.AuthInfo(Scheme,paramName,paramValue) は、Scheme プロパティとオプションの paramName,paramValue パラメーターを含む AuthInfo オブジェクトを作成します。複数の引数のペアを任意の順序で paramName1,paramValue1,...,paramNameN,paramValueN のように指定できます。

obj = matlab.net.http.AuthInfo(paramName,paramValue) は、Scheme 値が空の AuthInfo オブジェクトを作成します。

obj = matlab.net.http.AuthInfo(pStruct) はパラメーターと値を pStruct のフィールドからコピーします。

obj = matlab.net.http.AuthInfo(pStr)pStr から AuthInfo を作成します。

入力引数

すべて展開する

パラメーター名。string または文字ベクトルとして指定します。要求の一部として受け入れられる paramName,paramValue のペアは、Web サービスによって定義されます。paramName 引数は、AuthInfo オブジェクトを string に変換するときに name=value パラメーターに変換されるパラメーターを表します。

データ型: char | string

パラメーター値。paramName で必要なタイプとして指定します。paramValue タイプに制約はありませんが、値は string メソッドまたは char メソッドをサポートしなければなりません。

パラメーターと値。MATLAB 構造体のフィールドとして指定します。構造体には少なくとも Scheme フィールドが必要です。MATLAB は値が空のフィールドを除外します。

データ型: struct

パラメーターと値。string として指定します。pStr 構文の場合:

  • pStr が資格情報またはチャレンジの場合は、RFC 7235 Authentication、セクション 2.1 を参照してください。

  • pStr が Authentication-Info ヘッダーの auth-info の場合は、RFC 2617 Host-Imp Interface、セクション 3.2.3 を参照してください。

pStr はこれらの形式の 1 つです。値はオプションで引用符で囲み、必要に応じてエスケープ文字を挿入します。

SCHEME token
SCHEME param1=value1, param2=value2, ...
param1=value1, param2=value2, ...

データ型: string

プロパティ

すべて展開する

認証スキーム。matlab.net.http.AuthenticationScheme オブジェクト、またはスキームを示す string として指定します。

  • Scheme が string の場合、MATLAB はそれを AuthenticationScheme 列挙型に変換しようとします。MATLAB は、0 未満の数値をもつ Scheme に特別な処理を行いません。

  • AuthInfo オブジェクトが AuthenticateField ヘッダー フィールドのチャレンジで、SchemeAuthenticationScheme 列挙型ではない場合、Scheme は string です。それ以外の場合、SchemeAuthenticationScheme オブジェクトです。

  • AuthInfoAuthorizationField ヘッダー フィールドにある場合、SchemeAuthenticationScheme オブジェクトです。

  • AuthInfoAuthenticationInfoField ヘッダー フィールドにある場合、Scheme は空の可能性があります。

属性:

GetAccess
public
SetAccess
public

パラメーター名と値。n 行 2 列の cell 配列として指定します。Parameters{i,1}i 番目のパラメーターの名前で string です。Parameters{i,2} はその値です。タイプはパラメーターによって異なります。このプロパティを取得または設定するには getParameter メソッドまたは setParameter メソッドを使用します。

Parameters プロパティは、Scheme プロパティとヘッダー フィールドの Scheme に続く属性によって異なります。パラメーター名の一致の判定では大文字小文字が区別されます。addParametersetParameter および removeParameter の各メソッドを使用して配列 Parameters の値にアクセスします。

いくつかのパラメーター プロパティは、MATLAB が Scheme に基づいて適用する特別な意味と構文をもちます。特別な意味をもつパラメーターは次のとおりです。他のパラメーターはすべて string オブジェクトです。

  • SchemeAuthenticationScheme.Basic の場合は、パラメーターが 1 つ必要です。

    • AuthenticateField (サーバーからのチャレンジ) では、プロパティ名は realm です。サーバーはユーザー プロンプト用にレルムを提供します。これは Credentials.Realm プロパティと一致します。AuthenticateField.convert メソッドから返される AuthInfo には常に realm パラメーターがあります。

    • AuthorizationField (クライアントからの応答の資格情報) では、プロパティ名は encoded です。Encoded プロパティは、ヘッダー フィールドで Scheme に続いて示されるユーザー名とパスワードを表す base64 エンコードされた文字列です。このパラメーターを設定する場合、関数 base64encode を使用して自分でエンコードしなければなりません。

  • SchemeAuthenticationScheme.Digest の場合、プロパティ数は可変であり、ヘッダー フィールドの name=value 属性に対応します。

    • AuthenticateField については、RFC 2617 Host-Imp Interface、セクション 3.2.1 にリストされているプロパティを参照してください。

    • AuthorizationField については、RFC 2617 Host-Imp Interface、セクション 3.2.2 にリストされているプロパティを参照してください。

  • Scheme がその他の AuthenticationScheme プロパティまたは string の場合は、string に変換可能な限り、すべての属性名と値を使用できます。

属性:

GetAccess
public
SetAccess
public
Dependent
true

メソッド

すべて展開する

バージョン履歴

R2016b で導入