(Herdado) Pré-autorizar js-preauthorize

NOTE
O conteúdo desta página é fornecido apenas para fins informativos. O uso desta API requer uma licença atual do Adobe. Não é permitida nenhuma utilização não autorizada.
IMPORTANT
Mantenha-se informado sobre os anúncios mais recentes do produto de Autenticação da Adobe Pass e as linhas do tempo de desativação agregadas na página Anúncios de produto.

Visão geral preauth-overview

O método da API pré-autorizada deve ser usado por aplicativos para obter decisões de pré-autorização para um ou mais recursos. A solicitação da API pré-autorizada deve ser usada para dicas da interface do usuário e/ou filtragem de conteúdo. Uma solicitação de API de autorização real deve ser feita antes de permitir o acesso do usuário aos recursos especificados.

Caso ocorra um erro inesperado (por exemplo, problema de rede e ponto de acesso de autorização do MVPD indisponível) quando uma solicitação de API pré-autorizada for processada pelos serviços de autenticação da Adobe Pass, uma ou várias informações de erro separadas serão incluídas para os recursos afetados como parte do resultado da resposta da API pré-autorizada.

public preauthorize(solicitação: PreauthorizeRequest, retorno de chamada: AccessEnablerCallback<qualquer>): void preauth-method

Descrição: este método deve ser usado por aplicativos para obter decisões de pré-autorização de usuário autenticado (informativas) do serviço de Autenticação da Adobe Pass para exibir recursos protegidos específicos, com o objetivo principal de decorar a interface do usuário do aplicativo (por exemplo, indicar o status de acesso com ícones de bloqueio e desbloqueio).

Disponibilidade: v4.4.0+

Parâmetros:

  • PreauthorizeRequest: Objeto do Construtor usado para definir a solicitação
  • AccessEnablerCallback: retorno de chamada usado para retornar a resposta da API
  • PreauthorizeResponse: objeto usado para retornar o conteúdo de resposta da API

classe PreauthorizeRequestBuilder preath-req-builder-class

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

  • Define a Lista de recursos para os quais você deseja obter decisões de pré-autorização.

  • É obrigatório defini-lo para o uso da API pré-autorizada.

  • Cada elemento na lista deve ser uma String representando o valor da ID do recurso ou o fragmento de RSS de mídia que deve ser acordado com a MVPD.

  • Este método define as informações somente no contexto da instância do objeto PreauthorizeRequestBuilder atual, que é o receptor dessa chamada de método.

  • Para construir um PreauthorizeRequest real, você pode observar o método de PreauthorizeRequestBuilder:

  build(): PreauthorizeRequest
  • @param {string[]} recursos. A Lista de recursos para os quais você deseja obter decisões de pré-autorização.
  • @returns {PreauthorizeRequestBuilder} A referência à mesma instância do objeto PreauthorizeRequestBuilder, que é o receptor da chamada de método.
  • Ela faz isso para permitir a criação de encadeamento de métodos.

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

  • Define os recursos que você deseja desabilitar ao obter decisões de pré-autorização.
  • Esta função define as informações somente no contexto da instância do objeto PreauthorizeRequestBuilder atual, que é o receptor dessa chamada de função.
  • Para construir um PreauthorizeRequest real, você pode ver a função de PreauthorizeRequestBuilder:
public func build() -> PreauthorizeRequest
  • @param {string[]} recursos. O conjunto de recursos que você deseja que eles sejam desativados.
  • @returns A referência à mesma instância do objeto PreauthorizeRequestBuilder, que é o receptor da chamada de função.
  • Ele faz isso para permitir a criação de encadeamento de funções.

build(): PreauthorizeRequest preauth-req

  • Cria e recupera a referência de uma nova instância de objeto PreauthorizeRequest.
  • Este método instancia um novo objeto PreauthorizeRequest sempre que é chamado.
  • Este método usa os valores definidos antecipadamente no contexto da instância do objeto PreauthorizeRequestBuilder atual, que é o receptor dessa chamada de método.
  • Tenha em mente que este método não produz quaisquer efeitos colaterais,
  • portanto, não altera o estado da SDK ou o estado da instância do objeto PreauthorizeRequestBuilder, que é o receptor dessa chamada de método.
  • Isso significa que chamadas sucessivas desse método para o mesmo receptor criarão novas instâncias de objeto PreauthorizeRequest diferentes, mas com as mesmas informações, caso os valores definidos como PreauthorizeRequestBuilder não tenham sido modificados entre as chamadas.
  • Caso não precise atualizar nenhuma das informações fornecidas (recursos e armazenamento em cache), é possível reutilizar a instância PreauthorizeRequest para vários usos da API pré-autorizada.
  • @returns {PreauthorizeRequest}

interface AccessEnablerCallback<T> interface-access-enablr-callback

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

  • O retorno de chamada de resposta é chamado pelo SDK quando a solicitação da API pré-autorizada é atendida.
  • O resultado é bem-sucedido ou um resultado de erro contendo um status.
  • @param {T} result

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

  • Falha no retorno de chamada chamado pelo SDK quando a solicitação da API pré-autorizada não pôde ser atendida.
  • O resultado é um resultado de falha contendo um status.
  • @param {T} result

classe PreauthorizeResponse preauth-response-class

status público: Status; public-status

  • Retorna: informações adicionais de status (estado) em caso de falha.
  • Pode conter um valor null.

decisões públicas: Decisão[]; public-decisions

  • Retorna: a lista de decisões de pré-autorização. Uma decisão para cada recurso.
  • A lista pode estar vazia em caso de falha.

Status da classe class-status

estatuto público: número; public-status-numbr

  • O código de status de resposta HTTP conforme documentado na RFC 7231.
  • Pode ser 0 caso Status venha da SDK em vez dos serviços de Autenticação da Adobe Pass.

código público: número; public-code-numbr

  • O código de erro padrão dos serviços de autenticação da Adobe Pass.
  • Pode conter uma cadeia de caracteres vazia ou um valor null.

mensagem pública: cadeia de caracteres; public-msg-string

  • A mensagem detalhada que, em alguns casos, é fornecida pelos endpoints de autorização do MVPD ou pelas regras de degradação do programador.
  • Pode conter uma cadeia de caracteres vazia ou um valor null.

detalhes públicos: sequência de caracteres; public-details-strng

  • Contém uma mensagem detalhada que, em alguns casos, é fornecida pelos endpoints de autorização do MVPD ou pelas regras de degradação do Programador.
  • Pode conter uma cadeia de caracteres vazia ou um valor null.

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

  • O URL que vincula mais informações sobre por que esse estado/erro ocorreu e possíveis soluções.
  • Pode conter uma cadeia de caracteres vazia ou um valor null.

rastro público: cadeia de caracteres; public-trace-string

  • O identificador exclusivo para essa resposta, que pode ser usado ao entrar em contato com o suporte para identificar problemas específicos em cenários mais complexos.
  • Pode conter uma cadeia de caracteres vazia ou um valor null.

ação pública: sequência de caracteres; public-action-string

  • A ação recomendada para corrigir a situação.

    • nenhum: infelizmente não há nenhuma ação predefinida para corrigir esse problema. Isso pode indicar uma invocação incorreta da API pública
    • configuração: é necessária uma alteração na configuração por meio do painel TVE ou contatando o suporte.
    • application-registration: o aplicativo deve se registrar novamente.
    • autenticação: o usuário deve autenticar ou autenticar novamente.
    • autorização: o usuário deve obter autorização para o recurso específico.
    • degradação: alguma forma de degradação deve ser aplicada.
    • repetir: tentar novamente a solicitação pode resolver o problema
    • repetir-após: tentar novamente a solicitação após o período indicado pode resolver o problema.
  • Pode conter uma cadeia de caracteres vazia ou um valor null.

Decisão de classe class-decision

public id: string; public-id-string

  • A ID do recurso para a qual a decisão foi obtida.

público autorizado: booleano; public-auth-boolean

  • O valor do sinalizador que indica se a decisão foi bem-sucedida ou não.

erro público: Status; public-error-status

  • Informações adicionais de status (estado) caso ocorra algum erro. Pode conter um valor null.

Exemplo de implementação de cliente 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);

Exemplos de cenário scenario-examples

Cenário 1: todos os recursos solicitados foram autorizados all-req-res-auth

Cenário 2: alguns recursos solicitados foram autorizados. sm-req-res-auth

Sinalizador de código de erro aprimorado
Resposta
Desabilitado
code language-javascript
        {
    "decisions": [
        {
        "id": "RES01",
        "authorized": true
        },
        {
        "id": "RES02",
        "authorized": true
        },
        {
        "id": "RES03",
        "authorized": true
        }
    ]
    }

Cenário 3: nenhum dos recursos solicitados foi autorizado. none-req-res-auth

Sinalizador de código de erro aprimorado
Resposta
Desabilitado
code language-none
&quot;JavaScript

&lbrace;
&quot;decisões&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;: verdadeiro

&rbrack;


&quot;
Ativado
code language-none
&quot;JavaScript
&lbrace;
&quot;decisões&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;A MVPD retornou Decisão \&quot;Negar\&quot; ao solicitar pré-autorização para o recurso especificado.&quot;,
&quot;helpUrl&quot;: &quot;https://experienceleague.adobe.com/docs/primetime/authentication/home.html&quot;,
&quot;ação&quot;: &quot;nenhum&quot;
&rbrace;
&rbrace;,
&lbrace;
&quot;id&quot;: &quot;RES03&quot;,
&quot;authorized&quot;: true
&rbrace;,
&rbrack;
&rbrace;

&quot;

Cenário 4: solicitação do cliente incorreta - nenhum recurso especificado. bad-cl-req-no-res-sp

Sinalizador de código de erro aprimorado
Resposta
Desabilitado
code language-none
&quot;JavaScript

&lbrace;
&quot;decisões&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;: falso

&rbrack;


&quot;
Ativado
code language-none
&quot;JavaScript

&lbrace;
&quot;decisões&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;O MVPD retornou uma decisão \&quot;Deny\&quot; ao solicitar pré-autorização para o recurso especificado.&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;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;O MVPD retornou uma decisão \&quot;Deny\&quot; ao solicitar pré-autorização para o resource.&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;RES03&quot;,
&quot;authorized&quot;: false,
&quot;error&quot;: &lbrace;
&quot;status&quot;: 403,
&quot;code&quot;: &quot;maximum_execution_time_aded&quot;,
&quot;message&quot;: &quot;O tempo máximo permitido não foi concluído. Tentar novamente a solicitação pode resolver o problema.&quot;,
&quot;helpUrl&quot;: &quot;https://experienceleague.adobe.com/docs/primetime/authentication/home.html&quot;,
&quot;action&quot;: &quot;retry&quot;
&rbrace;
&rbrace;
&rbrack;


&quot;
Sinalizador de código de erro aprimorado
Resposta
Desativado/Ativado
code language-none
&quot;JavaScript
&lbrace;
&quot;status&quot;: &lbrace;
&quot;status&quot;: 400,
&quot;code&quot;: &quot;internal_error&quot;,
&quot;message&quot;: &quot;A solicitação falhou devido a um erro interno.&quot;,
&quot;details&quot;: &quot;O parâmetro &#39;resource&#39; da String[] obrigatório não está presente&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;:

Cenário 5: solicitação de cliente incorreta - recursos vazios especificados. bad-cl-req-empt-res-sp

Sinalizador de código de erro aprimorado
Resposta
Desativado/Ativado
code language-none
&quot;JavaScript
&lbrace;
&quot;status&quot;: &lbrace;
&quot;status&quot;: 412,
&quot;code&quot;: &quot;missing_resource&quot;,
&quot;message&quot;: &quot;O parâmetro do recurso está ausente&quot;,
&quot;helpUrl&quot;: &quot;https://experienceleague.adobe.com/docs/primetime/authentication/home.html&quot;,
&quot;action&quot;: &quot;none&quot;
&rbrace;,
&quot;decision&quot;: []
&rbrace;
&quot;

Cenário 6: erro de rede. ntwrk-error

Sinalizador de código de erro aprimorado
Resposta
Ativado
code language-none
&quot;JavaScript
&lbrace;
&quot;decisões&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;Houve um erro de leitura ao recuperar a resposta do serviço de parceiro associado. Tentar novamente a solicitação pode resolver o problema.&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;Houve um erro de leitura ao recuperar a resposta do serviço de parceiro associado. Tentar novamente a solicitação pode resolver o problema.&quot;,
&quot;helpUrl&quot;: &quot;https://experienceleague.adobe.com/docs/primetime/authentication/home.html&quot;,
&quot;action&quot;: &quot;retry&quot;
&rbrace;
&rbrace;
&rbrack;

&quot;

Cenário 7: o fluxo de pré-autorização foi chamado sem uma sessão AuthN válida.

Sinalizador de código de erro aprimorado
Resposta
Desativado/Ativado
code language-none
&quot;JavaScript
&lbrace;
&quot;status&quot;: &lbrace;
&quot;status&quot;: 0,
&quot;code&quot;: &quot;authentication_session_missing&quot;,
&quot;message&quot;: &quot;A sessão de autenticação associada a esta solicitação não pôde ser recuperada. O usuário deve autenticar novamente com um MVPD com suporte para continuar.&quot;,
&quot;ação&quot;: &quot;autenticação&quot;
&rbrace;,
&quot;decisões&quot;: []
&rbrace;

&quot;

Cenário 8: o fluxo de pré-autorização foi chamado antes da chamada setRequestor ser concluída

Sinalizador de código de erro aprimorado
Resposta
Desativado/Ativado
code language-none
&quot;JavaScript
&lbrace;
&quot;status&quot;: &lbrace;
&quot;status&quot;: 0,
&quot;code&quot;: &quot;requestor_not_configured&quot;,
&quot;message&quot;: &quot;O solicitante ainda não está configurado, o que é um pré-requisito para usar qualquer API além da API setRequestor.&quot;,
&quot;action&quot;: &quot;retry&quot;
&rbrace;,
&quot;Decisions&quot;: []
&rbrace;
&quot;
recommendation-more-help
3f5e655c-af63-48cc-9769-2b6803cc5f4b