Autorizza in anticipo js-preauthorize
Panoramica preauth-overview
Il metodo API Preauthorize deve essere utilizzato dalle applicazioni per ottenere decisioni di preautorizzazione per una o più risorse. La richiesta API di pre-autorizzazione deve essere utilizzata per gli hint dell’interfaccia utente e/o per il filtro dei contenuti. È necessario effettuare una richiesta API di autorizzazione effettiva prima di consentire l’accesso degli utenti alle risorse specificate.
Nel caso in cui si verifichi un errore imprevisto (ad esempio, un problema di rete e l’endpoint di autorizzazione MVPD non disponibile) quando una richiesta API di preautorizzazione viene elaborata dai servizi di autenticazione di Adobe Pass, verranno incluse una o più informazioni di errore separate per le risorse interessate come parte del risultato della risposta API di preautorizzazione.
public preauthorize(request: PreauthorizeRequest, callback: AccessEnablerCallback<any>): void preauth-method
Descrizione: Questo metodo deve essere utilizzato dalle applicazioni per ottenere le decisioni di preautorizzazione (informative) dell'utente autenticato dal servizio di autenticazione di Adobe Pass per visualizzare risorse protette specifiche, allo scopo principale di decorare l'interfaccia utente dell'applicazione (ad esempio, per indicare lo stato di accesso con le icone di blocco e sblocco).
Disponibilità: v4.4.0+
Parametri:
PreauthorizeRequest
: oggetto Builder utilizzato per definire la richiestaAccessEnablerCallback
: callback utilizzato per restituire la risposta APIPreauthorizeResponse
: oggetto utilizzato per restituire il contenuto della risposta API
class PreauthorizeRequestBuilder preath-req-builder-class
setResources(resources: string[]): PreauthorizeRequestBuilder set-res-preath-req-buildr
-
Imposta l'elenco delle risorse per le quali si desidera ottenere le decisioni di preautorizzazione.
-
È obbligatorio impostarlo per l’utilizzo dell’API di preautorizzazione.
-
Ogni elemento nell’elenco deve essere un valore String che rappresenta il valore ID della risorsa o il frammento RSS del file multimediale che deve essere concordato con l’MVPD.
-
Questo metodo imposta le informazioni solo nel contesto dell'istanza dell'oggetto
PreauthorizeRequestBuilder
corrente, che è il destinatario di questa chiamata al metodo. -
Per generare un
PreauthorizeRequest
effettivo, puoi dare un'occhiata al metodo diPreauthorizeRequestBuilder
:
build(): PreauthorizeRequest
@param {string[]}
risorse. L’elenco delle risorse per le quali desideri ottenere decisioni di preautorizzazione.@returns {PreauthorizeRequestBuilder}
Riferimento alla stessa istanza dell'oggettoPreauthorizeRequestBuilder
, che è il destinatario della chiamata al metodo.- Questo consente di creare il concatenamento dei metodi.
disableFeatures(…features: string[]): PreauthorizeRequestBuilder disabl-featres-preauth-req-buildr
- Imposta le funzionalità che si desidera disabilitare quando si ottengono decisioni di preautorizzazione.
- Questa funzione imposta le informazioni solo nel contesto dell'istanza dell'oggetto
PreauthorizeRequestBuilder
corrente, che è il destinatario di questa chiamata di funzione. - Per generare un
PreauthorizeRequest
effettivo, puoi dare un'occhiata alla funzione diPreauthorizeRequestBuilder
:
public func build() -> PreauthorizeRequest
- Funzionalità di
@param {string[]}
. L'insieme di funzionalità per le quali si desidera disattivarle. @returns
Il riferimento alla stessa istanza dell'oggettoPreauthorizeRequestBuilder
, che è il destinatario della chiamata di funzione.- Lo fa per consentire la creazione di concatenamento di funzioni.
build(): PreauthorizeRequest preauth-req
- Crea e recupera il riferimento di una nuova istanza dell'oggetto
PreauthorizeRequest
. - Questo metodo crea un'istanza di un nuovo oggetto
PreauthorizeRequest
ogni volta che viene chiamato. - Questo metodo utilizza i valori impostati in precedenza nel contesto dell'istanza dell'oggetto
PreauthorizeRequestBuilder
corrente, che è il destinatario di questa chiamata del metodo. - Tenere presente che questo metodo non produce effetti collaterali,
- pertanto, non modifica lo stato dell'SDK o lo stato dell'istanza dell'oggetto
PreauthorizeRequestBuilder
, che è il destinatario di questa chiamata di metodo. - Ciò significa che le chiamate successive di questo metodo per lo stesso ricevitore creeranno nuove istanze di oggetto
PreauthorizeRequest
diverse, ma con le stesse informazioni, nel caso in cui i valori impostati suPreauthorizeRequestBuilder
non vengano modificati tra le chiamate. - Nel caso in cui non sia necessario aggiornare alcuna delle informazioni fornite (risorse e caching), è possibile riutilizzare l’istanza PreauthorizeRequest per più utilizzi dell’API preauthorize.
@returns {PreauthorizeRequest}
interfaccia AccessEnablerCallback<T> interface-access-enablr-callback
onResponse(risultato: T); on-response-result
- Callback di risposta chiamato dall'SDK quando la richiesta API di preautorizzazione è stata soddisfatta.
- Il risultato è un risultato positivo o un risultato di errore contenente uno stato.
@param {T} result
onFailure(risultato: T); on-failure-result
- Errore di callback chiamato dall'SDK quando non è stato possibile soddisfare la richiesta API di preautorizzazione.
- Il risultato è un risultato di errore contenente uno stato.
@param {T} result
class PreauthorizeResponse preauth-response-class
stato pubblico: status; public-status
- Restituisce: informazioni aggiuntive sullo stato (stato) in caso di errore.
- Potrebbe contenere un valore
null
.
decisioni pubbliche: Decisione[]; public-decisions
- Restituisce: l’elenco delle decisioni di preautorizzazione. Una decisione per ogni risorsa.
- L’elenco potrebbe essere vuoto in caso di errore.
Stato classe class-status
stato pubblico: numero; public-status-numbr
- Il codice di stato della risposta HTTP come documentato nella RFC 7231.
- Può essere 0 nel caso in cui
Status
provenga dall'SDK invece che dai servizi di autenticazione di Adobe Pass.
codice pubblico: numero; public-code-numbr
- Codice di errore standard dei servizi di autenticazione di Adobe Pass.
- Potrebbe contenere una stringa vuota o un valore
null
.
messaggio pubblico: string; public-msg-string
- Il messaggio dettagliato che in alcuni casi viene fornito dagli endpoint di autorizzazione MVPD o dalle regole di degradazione del programmatore.
- Potrebbe contenere una stringa vuota o un valore
null
.
dettagli pubblici: string; public-details-strng
- Contiene un messaggio dettagliato che in alcuni casi è fornito dagli endpoint di autorizzazione MVPD o dalle regole di degradazione del programmatore.
- Potrebbe contenere una stringa vuota o un valore
null
.
helpUrl pubblico: string; public-help-url-string
- L’URL che rimanda a ulteriori informazioni sul motivo di questo stato/errore e sulle possibili soluzioni.
- Potrebbe contenere una stringa vuota o un valore
null
.
traccia pubblica: string; public-trace-string
- L’identificatore univoco di questa risposta, che può essere utilizzato quando si contatta il supporto per identificare problemi specifici in scenari più complessi.
- Potrebbe contenere una stringa vuota o un valore
null
.
azione pubblica: string; public-action-string
-
Azione consigliata per risolvere la situazione.
- none: nessuna azione predefinita per risolvere il problema. Ciò potrebbe indicare una chiamata non corretta dell’API pubblica
- configurazione: è necessario modificare la configurazione tramite il dashboard TVE o contattando il supporto.
- registrazione-applicazione: l'applicazione deve registrarsi nuovamente.
- autenticazione: l'utente deve autenticare o autenticare di nuovo.
- autorizzazione: l'utente deve ottenere l'autorizzazione per la risorsa specifica.
- degradazione: applicare una qualche forma di degradazione.
- riprova: un nuovo tentativo di richiesta potrebbe risolvere il problema
- riprova dopo: il problema potrebbe essere risolto ritentando la richiesta dopo il periodo di tempo indicato.
-
Potrebbe contenere una stringa vuota o un valore
null
.
class Decision class-decision
id pubblico: string; public-id-string
- ID risorsa per cui è stata ottenuta la decisione.
public authorized: booleano; public-auth-boolean
- Valore del flag che indica se la decisione è stata eseguita con successo o meno.
errore pubblico: stato; public-error-status
- Informazioni aggiuntive sullo stato (stato) nel caso si sia verificato un errore. Potrebbe contenere un valore
null
.
Esempio di implementazione client 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);
Esempi di scenari scenario-examples
Scenario 1: tutte le risorse richieste sono state autorizzate all-req-res-auth
Scenario 2: alcune risorse richieste sono state autorizzate. sm-req-res-auth
code language-javascript |
---|
|
Scenario 3: nessuna delle risorse richieste è stata autorizzata. none-req-res-auth
code language-none |
---|
|
code language-none |
---|
|
Scenario 4: richiesta client non valida. Nessuna risorsa specificata. bad-cl-req-no-res-sp
code language-none |
---|
|
code language-none |
---|
|
code language-none |
---|
|
Scenario 5: richiesta client non valida. Sono state specificate risorse vuote. bad-cl-req-empt-res-sp
code language-none |
---|
|
Scenario 6: errore di rete. ntwrk-error
code language-none |
---|
|
Scenario 7: il flusso di preautorizzazione è stato richiamato senza una sessione AuthN valida.
code language-none |
---|
|
Scenario 8: il flusso di preautorizzazione è stato richiamato prima del completamento della chiamata setRequestor
code language-none |
---|
|