Cookbook da API REST (herdada) (cliente para servidor)
- Tópicos:
- Authentication
Visão geral
Este documento fornece instruções passo a passo para a equipe de engenharia de um programador integrar um "dispositivo inteligente" (console de jogos, aplicativo de TV inteligente, set top box, etc.) com a autenticação do Adobe Pass usando os serviços de API REST. Essa abordagem de cliente para servidor, que usa REST APIs em vez de um SDK cliente, permite um suporte mais amplo de diferentes plataformas para as quais o desenvolvimento de um número significativo de SDKs únicos não seria viável. Para obter uma visão geral técnica abrangente de como a solução sem cliente funciona, consulte a Visão geral técnica sem cliente.
Essa abordagem requer dois componentes (aplicativo de streaming e aplicativo AuthN) para concluir os fluxos necessários: inicialização, registro, autorização e fluxos de mídia de visualização no aplicativo de streaming e o fluxo de autenticação no aplicativo AuthN.
Mecanismo de limitação
A API REST de Autenticação do Adobe Pass é regida por um Mecanismo de limitação.
Componentes
Em uma solução cliente para servidor que funciona, os seguintes componentes estão envolvidos:
Fluxos
Registro dinâmico de cliente (DCR)
O Adobe Pass usa DCR para proteger as comunicações do cliente entre um aplicativo ou servidor do programador e os serviços da Adobe Pass. O fluxo do DCR é separado e está descrito na Documentação de Visão Geral do Registro Dinâmico de Clientes.
Fluxos de aplicativo de transmissão (dispositivo inteligente)
Fluxo de inicialização
-
Seu aplicativo é iniciado e carrega sua interface inicial.
-
Obter/gerar uma ID de dispositivo.
-
Emita uma chamada de Verificação de autenticação para ver se o dispositivo já está autenticado. Por exemplo:
<SP_FQDN>/api/v1/checkauthn [device ID]
-
Se a chamada
checkauthn
for bem-sucedida, prossiga para o Fluxo de Autorização a partir da Etapa 2. Se falhar, inicie o Fluxo de registro.
Fluxo de registro
-
Obtenha um código de registro e um URL que seu usuário poderá usar para acessar seu aplicativo de logon de 2ª tela e apresente-os ao usuário:
a. Envie uma solicitação POST para o Serviço de código de registro da Adobe, transmitindo uma ID de dispositivo com hash e um "URL de registro". Por exemplo:
<REGGIE_FQDN>/reggie/v1/[requestorId]/regcode [device ID]
b. Apresente o código de registro e o URL retornados ao usuário.
c. Instrua o usuário a alternar para um dispositivo compatível com a Web, navegar até o URL e inserir o código de registro.
Fluxo de autorização
-
O usuário retorna do aplicativo de segunda tela e pressiona o botão "Continuar" em seu dispositivo. Como alternativa, você pode implementar um mecanismo de pesquisa para verificar o status de autenticação, mas a Autenticação do Adobe Pass recomenda o método do botão Continuar em vez da pesquisa. Por exemplo: <SP_FQDN>/api/v1/tokens/authn
-
Envie uma solicitação GET ao serviço de autorização de Autenticação da Adobe Pass para iniciar a autorização. Por exemplo:
<SP_FQDN>/api/v1/authorize [device ID, Requestor ID, Resource ID]
-
Se a resposta indicar êxito: o usuário tem um token de AuthN válido E está autorizado a assistir à mídia solicitada (há um token de AuthZ válido para esse usuário).
-
Se a resposta indicar falha: examine a exceção lançada para determinar seu tipo (AuthN, AuthZ ou algo diferente):
-
Se foi um erro de AuthN, reinicie o Fluxo de Registro.
-
Se foi um erro de AuthZ, o usuário não está autorizado a assistir à mídia solicitada e algum tipo de mensagem de erro deve ser exibido para o usuário.
-
Se houver algum outro erro (erro de conexão, erro de rede etc.), exiba uma mensagem de erro apropriada para o usuário.
-
Exibir fluxo de mídia
-
Apresentar opções de mídia. O usuário seleciona a mídia para visualizar.
-
A mídia está protegida?
a. Seu aplicativo verifica se a mídia está protegida.
b. Se a mídia estiver protegida, o aplicativo iniciará a Autorização
(AuthZ) Fluxo acima.c. Se a mídia não estiver protegida, reproduza-a para o
usuário. -
Reproduza a mídia.
Fluxo de aplicativo AuthN (2ª tela)
-
Obtenha uma lista de MVPDs para este usuário. Por exemplo:
<SP_FQDN>/api/v1/config/[requestorID]
-
Inicie o fluxo de autenticação. Por exemplo:
<SP_FQDN>/api/v1/authenticate [requestorID, MVPD ID, Redirect URL, Domain name, Registration Code, "noflash=true"]
-
Verifique se a autenticação foi bem-sucedida. Por exemplo:
<SP_FQDN>/api/v1/checkauthn/[registration code][requestor ID]
-
Envie o usuário de volta ao aplicativo Dispositivo inteligente para concluir o fluxo de autorização.
Logon único de parceiro
Alguns dispositivos fornecem suporte dedicado para Logon Único de Parceiro (SSO):
Logon único na plataforma
Alguns dispositivos fornecem suporte dedicado para Logon único da plataforma (SSO):
TempPass e TempPass promocional para API REST
Para implementações TempPass e TempPass Promocional em que o usuário não é solicitado a inserir credenciais, a autenticação pode ser implementada diretamente no Aplicativo de Streaming.
Para usar essa API, o Aplicativo de Streaming precisa verificar a exclusividade da ID do dispositivo, pois ela está sendo usada para identificar o token, juntamente com os dados adicionais opcionais.