事前認証 js-preauthorize

NOTE
このページのコンテンツは情報提供のみを目的としています。 この API を使用するには、Adobeから現在のライセンスが必要です。 無許可の使用は許可されていません。

概要 preauth-overview

事前認証 API メソッドは、アプリケーションが 1 つ以上のリソースに対して事前認証の決定を取得するために使用します。 事前認証 API リクエストは、UI ヒントやコンテンツフィルタリングに使用する必要があります。 指定したリソースへのユーザーアクセスを許可する前に、実際の認証 API リクエストを行う必要があります。

事前認証 API リクエストがAdobe Pass Authentication Services によって処理される際に、予期しないエラー(ネットワークの問題、MVPD 認証エンドポイントが利用できないなど)が発生した場合は、影響を受けるリソースに関する 1 つ以上のエラー情報が事前認証 API 応答の結果の一部として含まれます。

public preauthorize (request: PreauthorizeRequest, callback: AccessEnablerCallback<any>): void preauth-method

説明: この手法は、アプリケーションの UI を修飾する主な目的で(例えば、ロックおよびロック解除アイコンを使用したアクセスステータスの表示)、認証されたユーザーの事前認証(情報)決定をAdobe Pass認証サービスから取得して、特定の保護されたリソースを表示するために使用します。

提供: v4.4.0 以降

パラメーター:

  • PreauthorizeRequest:リクエストの定義に使用されるビルダーオブジェクト
  • AccessEnablerCallback:API 応答を返すために使用されるコールバック
  • PreauthorizeResponse:API 応答のコンテンツを返すために使用されるオブジェクト

preauthorizeRequestBuilder クラス preath-req-builder-class

setResources (resources: string[]): PreauthorizeRequestBuilder set-res-preath-req-buildr

  • 事前認証の決定を取得するリソースのリストを設定します。

  • 事前認証 API を使用するには、これを設定する必要があります。

  • リスト内の各要素は、MVPD と合意する必要があるリソース ID 値またはメディア RSS フラグメントを表す文字列型である必要があります。

  • このメソッドは、現在の PreauthorizeRequestBuilder オブジェクトインスタンス(このメソッド呼び出しの受信者)のコンテキストでのみ情報を設定します。

  • 実際の PreauthorizeRequest を作成するには、PreauthorizeRequestBuilder のメソッドを参照します。

  build(): PreauthorizeRequest
  • @param {string[]} リソース。 事前認証の決定を取得するリソースのリスト。
  • @returns {PreauthorizeRequestBuilder} メソッド呼び出しの受信者である、同じ PreauthorizeRequestBuilder オブジェクトインスタンスへの参照。
  • これは、メソッドの連鎖の作成を可能にするために行います。

disableFeatures (…features: string[]): PreauthorizeRequestBuilder disabl-featres-preauth-req-buildr

  • 事前認証の決定を取得するときに無効にする機能を設定します。
  • この関数は、現在の PreauthorizeRequestBuilder オブジェクトインスタンス(この関数呼び出しの受信者)のコンテキストでのみ情報を設定します。
  • 実際の PreauthorizeRequest を作成するには、PreauthorizeRequestBuilder の関数を確認します。
public func build() -> PreauthorizeRequest
  • @param {string[]} 機能。 無効にする機能のセット。
  • @returns 関数呼び出しの受信者である、同じ PreauthorizeRequestBuilder オブジェクトインスタンスへの参照。
  • これは、関数連結の作成を可能にするために行います。

build (): PreauthorizeRequest preauth-req

  • 新しい PreauthorizeRequest オブジェクト インスタンスの参照を作成および取得します。
  • このメソッドは、呼び出されるたびに新しい PreauthorizeRequest オブジェクトをインスタンス化します。
  • このメソッドは、このメソッド呼び出しの受信者である現在の PreauthorizeRequestBuilder オブジェクトインスタンスのコンテキストで、事前に設定された値を使用します。
  • この方法では副作用が生じないことを覚えておいてください。
  • したがって、このメソッド呼び出しの受信者である PreauthorizeRequestBuilder オブジェクトインスタンスの SDK の状態または状態は変更されません。
  • つまり、同じ受信者に対してこのメソッドを連続して呼び出すと、新しい PreauthorizeRequest オブジェクトのインスタンスは異なりますが、呼び出し間で値が変更されていない PreauthorizeRequestBuilder に設定されている場合は、同じ情報を持ちます。
  • 指定された情報(リソースとキャッシュ)を更新する必要がない場合は、事前認証 API の複数回使用するために、PreauthorizeRequest インスタンスを再利用できます。
  • @returns {PreauthorizeRequest}

インターフェイス AccessEnablerCallback<T> interface-access-enablr-callback

onResponse (result: T); on-response-result

  • 事前認証 API リクエストが満たされたときに SDK によって呼び出された応答コールバック。
  • 結果は、成功、またはステータスを含むエラー結果です。
  • @param {T} result

onFailure (result: T); on-failure-result

  • 事前承認 API リクエストの処理に失敗した場合に、SDK によって呼び出される失敗コールバック。
  • 結果は、ステータスを含む失敗結果です。
  • @param {T} result

クラス PreauthorizeResponse preauth-response-class

パブリックステータス:ステータス; public-status

  • 戻り値:失敗した場合の追加のステータス(状態)情報。
  • null 値を保持する可能性があります。

パブリック決定:決定 []; public-decisions

  • 戻り値:事前認証の決定のリスト。 リソースごとに 1 つの決定。
  • 失敗した場合、リストは空の可能性があります。

クラスステータス class-status

パブリックステータス:数値; public-status-numbr

  • RFC 7231 に記載されている HTTP 応答ステータスコード。
  • Status がAdobe Pass Authentication Services ではなく SDK から提供される場合は、0 になる可能性があります。

パブリックコード:number; public-code-numbr

  • 標準のAdobe Pass認証サービスエラーコード。
  • 空の文字列または null の値を保持できます。

パブリックメッセージ:string; public-msg-string

  • 詳細なメッセージ。場合によっては、MVPD 認証エンドポイントまたはプログラマの劣化ルールによって提供されます。
  • 空の文字列または null の値を保持できます。

パブリックの詳細:文字列; public-details-strng

  • 場合によっては、MVPD 認証エンドポイントまたはプログラマの劣化ルールによって提供される詳細なメッセージを保持します。
  • 空の文字列または null の値を保持できます。

public helpUrl: string; public-help-url-string

  • この状態/エラーが発生した理由と考えられる解決策に関する詳細情報にリンクする URL。
  • 空の文字列または null の値を保持できます。

パブリックトレース:string; public-trace-string

  • この応答の一意の ID で、より複雑なシナリオで特定の問題を特定するためにサポートに連絡する際に使用できます。
  • 空の文字列または null の値を保持できます。

パブリックアクション:string; public-action-string

  • 状況を改善するための推奨アクション。

    • なし:残念ながら、この問題を修正するための事前定義済みのアクションはありません。 これは、パブリック API の呼び出しが正しくない可能性があります
    • 設定:TVE ダッシュボードを使用するか、サポートに連絡して、設定を変更する必要があります。
    • application-registration:アプリケーションは、自分自身を再度登録する必要があります。
    • 認証:ユーザーは認証または再認証する必要があります。
    • authorization:ユーザーは、特定のリソースに対して認証を取得する必要があります。
    • degradation:何らかの形の最適化を適用する必要があります。
    • retry: リクエストを再試行すると、問題が解決する場合があります
    • retry-after:指定された期間が経過した後にリクエストを再試行すると、問題が解決する場合があります。
  • 空の文字列または null の値を保持できます。

クラスの決定 class-decision

パブリック id:文字列; public-id-string

  • 決定が取得されたリソース ID。

public authorized:ブール値; public-auth-boolean

  • 決定が成功したかどうかを示すフラグの値。

パブリックエラー:ステータス; public-error-status

  • エラーが発生した場合の追加のステータス(状態)情報。 null 値を保持する可能性があります。

クライアントの実装例 client-imp-example

let accessEnablerApi = new window.AccessEnabler.AccessEnabler("software statement");
let accessEnablerModels = window.AccessEnabler.models;



// Build request
let requestBuilder = new accessEnablerModels.PreauthorizeRequest.getBuilder();
let request = requestBuilder
    .setResources(["RES01", "RES02", "RES03"])
    .disableFeatures("LOCAL_CACHE")
    .build();



// Create callback
let callback = {
    onResponse(response) {
        // Handle onResponse
    },
    onFailure(response) {
        // Handle onFailure
    }
};

// Invoke call
accessEnablerApi.preauthorize(request, callback);

シナリオの例 scenario-examples

シナリオ 1:要求されたすべてのリソースが許可された all-req-res-auth

シナリオ 2:リクエストされた一部のリソースが承認されました。 sm-req-res-auth

強化されたエラーコードフラグ
応答
Disabled
code language-javascript
        {
    "decisions": [
        {
        "id": "RES01",
        "authorized": true
        },
        {
        "id": "RES02",
        "authorized": true
        },
        {
        "id": "RES03",
        "authorized": true
        }
    ]
    }

シナリオ 3:リクエストされたリソースがすべて承認されなかった。 none-req-res-auth

強化されたエラーコードフラグ
応答
Disabled
code language-none
&quot;&#39;JavaScript

&lbrace;
&quot;decisions&quot;: &lbrack;
&lbrace;
&quot;id&quot;: &quot;RES01&quot;,
&quot;authorized&quot;: true
&rbrace;,
&lbrace;
&quot;id&quot;: &quot;RES02&quot;,
&quot;authorized&quot;: false
&rbrace;,
&lbrace;
&quot;id&quot;: &quot;RES03&quot;,
&quot;authorized&quot;: true
&rbrace;
&rbrack;
&rbrace;

&quot;&#39;
Enabled
code language-none
&quot;&#39;JavaScript
&lbrace;
&quot;decisions&quot;: &lbrack;
&lbrace;
&quot;id&quot;: &quot;RES01&quot;,
&quot;authorized&quot;: true
&rbrace;,
&lbrace;
&quot;id&quot;: &quot;RES02&quot;,
&quot;authorized&quot;: false,
&quot;error&quot;: &lbrace;
&quot;status&quot;: 403,
&quot;code&quot;: &quot;preauthorization_denied_by_mvpd&quot;,
&quot;message&quot;: &quot;MVPD は、指定されたリソースの事前認証をリクエストしたときに、\&quot;Deny\&quot;決定を返しました。&quot;,
&quot;helpUrl&quot;: &quot;https://experienceleague.adobe.com/docs/primetime/authentication/home.html&quot;,
&quot;action&quot; :&quot;none&quot;
&rbrace;
&rbrace;,
&lbrace;

"id": "RES03","authorized": trueForce},JS 認証

シナリオ 4:無効なクライアントリクエスト – リソースが指定されていません。 bad-cl-req-no-res-sp

強化されたエラーコードフラグ
応答
Disabled
code language-none
&quot;&#39;JavaScript

&lbrace;
&quot;decisions&quot;: &lbrack;
&lbrace;
&quot;id&quot;: &quot;RES01&quot;,
&quot;authorized&quot;: false
&rbrace;,
&lbrace;
&quot;id&quot;: &quot;RES02&quot;,
&quot;authorized&quot;: false
&rbrace;,
&lbrace;
&quot;id&quot;: &quot;RES03&quot;,
&quot;authorized&quot;: false
&rbrace;
&rbrace;
&rbrace;

&quot;&#39;
Enabled
code language-none
&quot;&#39;JavaScript

&lbrace;
&quot;decisions&quot;: &lbrack;
&lbrace;
&quot;id&quot;: &quot;RES01&quot;,
&quot;authorized&quot;:false,
&quot;error&quot;: &lbrace;
&quot;status&quot;: 403,
&quot;code&quot;: &quot;preauthorization_denied_by_mvpd&quot;,
&quot;message&quot;: &quot;MVPD は、指定されたリソースの事前認証をリクエストする際に\&quot;Deny\&quot;という判断を返しました。&quot;,
&quot;helpUrl&quot;: &quot;https://experienceleague.adobe.com/docs/primetime/authentication/home.html&quot;,
&quot;action&quot;: &quot;none&quot;
&rbrace;
&rbrace;,
&lbrace;
&quot;id&quot;: &quot;RES 02,
&quot; &quot;authorized&quot;: false,
&quot;error&quot;: &lbrace;
&quot;status&quot;: 403,












&quot;code&quot;: &quot;preauthorization_denied_by_mvpd&quot;,&quot;message&quot;: &quot;MVPD は、指定されたリソースの事前認証をリクエストする際に、\&quot;Deny\&quot;決定を返しました。&quot;,helpUrl&quot;: &quot;https://experienceleague.adobe.com/docs/primetime/authentication/home.html&quot;,&quot;action&quot;: &quot;none&quot;404&rbrace;,ID&quot;: &quot;RES03&quot;,error&quot;: &lbrace;status&quot;: 403,&quot;code&quot; execution_time_exceeded&quot;,&quot;message&quot;: &quot;リクエストが最大許容時間内に完了しませんでした。 リクエストを再試行すると、問題が解決する場合があります。&quot;,
&quot;helpUrl&quot;: &quot;https://experienceleague.adobe.com/docs/primetime/authentication/home.html&quot;,
&quot;action&quot;: &quot;retry&quot;
&rbrace;
&rbrace;
&rbrace;
&rbrace;

&quot;&#39;
強化されたエラーコードフラグ
応答
無効/有効
code language-none
&quot;&#39;JavaScript
&lbrace;
&quot;status&quot;: &lbrace;
&quot;status&quot;: 400,
&quot;code&quot;: &quot;internal_error&quot;,
&quot;message&quot;: &quot;内部エラーが原因でリクエストが失敗しました。&quot;,
&quot;details&quot;: &quot;Required String[] パラメーター&#39;resource&#39;が存在しません&quot;,
&quot;helpUrl&quot;: &quot;https://experienceleague.adobe.com/docs/primetime/authentication/home.html&quot;,
&quot;action&quot;: &quot;none&quot;
&rbrace;,
&quot;decisions&quot;: []
&rbrace;
&quot;&#39;

シナリオ 5:無効なクライアントリクエスト – 空のリソースが指定されました。 bad-cl-req-empt-res-sp

強化されたエラーコードフラグ
応答
無効/有効
code language-none
&quot;&#39;JavaScript
&lbrace;
&quot;status&quot;: &lbrace;
&quot;status&quot;: 412,
&quot;code&quot;: &quot;missing_resource&quot;,
&quot;message&quot;: &quot;The resource parameter is missing&quot;,
&quot;helpUrl&quot;: &quot;https://experienceleague.adobe.com/docs/primetime/authentication/home.html&quot;,
&quot;action&quot;: &quot;none&quot;
&rbrace;,
&quot;decisions&quot;: []
&rbrace;
&quot;&#39;

シナリオ 6:ネットワークエラー。 ntwrk-error

強化されたエラーコードフラグ
応答
Enabled
code language-none
&quot;&#39;JavaScript
&lbrace;
&quot;decisions&quot;: &lbrack;
&lbrace;
&quot;id&quot;: &quot;RES01&quot;,
&quot;authorized&quot;: false,
&quot;error&quot;: &lbrace;
&quot;status&quot;: 403,
&quot;code&quot;: &quot;network_received_error&quot;,
&quot;message&quot;: &quot;関連するパートナーサービスから応答を取得する際に読み取りエラーが発生しました。 リクエストを再試行すると、問題が解決する場合があります。&quot;,
&quot;helpUrl&quot;: &quot;https://experienceleague.adobe.com/docs/primetime/authentication/home.html&quot;,
&quot;action&quot;: &quot;retry&quot;
&rbrace;
&rbrace;,
&lbrace;
&quot;id&quot;: &quot;RES02&quot;,
&quot;authorized&quot;: false,
&quot;error&quot;: &lbrace;
&quot;status&quot;: 403,
&quot;code&quot;: &quot;network_received_error&quot;,
&quot;message&quot;: &quot;関連するパートナーサービスから応答を取得する際に読み取りエラーが発生しました。 リクエストを再試行すると、問題が解決する場合があります。&quot;,
&quot;helpUrl&quot;: &quot;https://experienceleague.adobe.com/docs/primetime/authentication/home.html&quot;,
&quot;action&quot;: &quot;retry&quot;
&rbrace;
&rbrace;
&rbrace;
&rbrace;
&quot;&#39;

シナリオ 7:有効な AuthN セッションなしで、事前承認フローが呼び出された。

強化されたエラーコードフラグ
応答
無効/有効
code language-none
&quot;&#39;JavaScript
&lbrace;
&quot;status&quot;: &lbrace;
&quot;status&quot;: 0,
&quot;code&quot;: &quot;authentication_session_missing&quot;,
&quot;message&quot;: &quot;このリクエストに関連付けられた認証セッションを取得できませんでした。 続行するには、ユーザーは、サポートされている MVPD で再認証する必要があります。&quot;,
&quot;action&quot;: &quot;authentication&quot;
&rbrace;,
&quot;decisions&quot;: []
&rbrace;

&quot;&#39;

シナリオ 8:setRequestor 呼び出しが完了する前に、事前承認フローが呼び出された

強化されたエラーコードフラグ
応答
無効/有効
code language-none
&quot;&#39;JavaScript
&lbrace;
&quot;status&quot;: &lbrace;
&quot;status&quot;: 0,
&quot;code&quot;: &quot;requestor_not_configured&quot;,
&quot;message&quot;: &quot;setRequestor API 以外の API を使用するための前提条件である、リクエスターがまだ設定されていません。&quot;,
&quot;action&quot;: &quot;retry&quot;
&rbrace;,
&quot;decisions&quot;: []
&rbrace;
&quot;&#39;
recommendation-more-help
3f5e655c-af63-48cc-9769-2b6803cc5f4b