事前認証 js-preauthorize
概要 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
code language-javascript |
---|
|
シナリオ 3:リクエストされたリソースがすべて承認されなかった。 none-req-res-auth
code language-none |
---|
|
code language-none |
---|
|
"id": "RES03","authorized": trueForce},JS 認証
シナリオ 4:無効なクライアントリクエスト – リソースが指定されていません。 bad-cl-req-no-res-sp
code language-none |
---|
|
code language-none |
---|
|
code language-none |
---|
|
シナリオ 5:無効なクライアントリクエスト – 空のリソースが指定されました。 bad-cl-req-empt-res-sp
code language-none |
---|
|
シナリオ 6:ネットワークエラー。 ntwrk-error
code language-none |
---|
|
シナリオ 7:有効な AuthN セッションなしで、事前承認フローが呼び出された。
code language-none |
---|
|
シナリオ 8:setRequestor 呼び出しが完了する前に、事前承認フローが呼び出された
code language-none |
---|
|