Cookbook REST API V2 (servidor para servidor) rest-api-v2-cookbook-server-to-server
O documento é destinado a desenvolvedores que estão integrando a API REST V2 da Autenticação do Adobe Pass em seus aplicativos de streaming com uma arquitetura S2S (Servidor a Servidor).
Pré-requisitos prerequisites
Para obter termos e definições, consulte o Glossário da API REST V2.
Para obter os requisitos obrigatórios e as práticas recomendadas, consulte a documentação da Lista de Verificação da API REST V2.
Para perguntas frequentes, consulte a documentação Perguntas frequentes sobre REST API V2.
Componentes components
Antes de começar, verifique se você compreende os seguintes componentes e termos usados no fluxo de trabalho:
Requisitos requirements
Em implementações S2S (servidor para servidor), o Aplicativo de streaming e o Serviço de programador devem estabelecer um protocolo que permita que o Serviço de programador:
-
Comunique-se com o serviço Adobe Pass em nome do aplicativo de streaming.
-
Colete e transmita um identificador de dispositivo exclusivo para o Dispositivo de Streaming, conforme exigido pelo cabeçalho AP-Device-Identifier.
-
Colete e transmita informações precisas do Dispositivo de Streaming, incluindo a porta de origem e os detalhes específicos do dispositivo, conforme exigido pelo cabeçalho X-Device-Info.
-
Colete e passe o endereço IP do dispositivo de transmissão conforme exigido pelo cabeçalho X-Forwarded-For.
-
Armazene com segurança parâmetros como ID de dispositivo, ID de cliente e segredo do cliente no Aplicativo de streaming ou no Serviço de programador.
-
Formate e envie dados em conformidade com MVPDs e aplicativos integrados, incluindo IP do dispositivo, porta de origem, informações específicas do dispositivo, MRSS e identificadores opcionais, como ECID.
-
Mantenha e gerencie com segurança os certificados compartilhados com o Adobe para transmissão criptografada de metadados do usuário.
-
Respeite o perfil de autenticação e a validade da decisão de autorização ao armazenar em cache, garantindo que os estados de autenticação e autorização sejam invalidados quando notificados.
-
Devolver as decisões de autorização e as instruções relevantes ao aplicativo de transmissão.
Ambientes environments
Antes de entrar no fluxo de trabalho, mantenha pelo menos dois ambientes: Produção e Preparo.
Produção
O ambiente de produção deve estar altamente disponível e dimensionado de forma adequada para lidar com picos de tráfego grandes ou inesperados, como os causados por eventos esportivos ao vivo ou notícias de última hora.
-
O Adobe Pass Service opera em vários data centers geograficamente dispersos nos EUA para otimizar o desempenho e minimizar a latência.
- O Serviço de programador deve adotar uma estratégia de infraestrutura semelhante, garantindo tempos de resposta de baixa latência da Adobe Pass.
-
O Programador deve fornecer o intervalo IP público de seu ambiente de produção.
- Esses IPs serão adicionados a um incluo na lista de permissões na infraestrutura da Adobe Pass.
-
O Serviço de programador deve limitar o cache DNS a um máximo de 30 segundos para permitir o redirecionamento dinâmico caso o Adobe precise redirecionar o tráfego devido à indisponibilidade de um data center.
Estágios
O ambiente de preparo pode ser mínimo, mas deve refletir a produção, incluindo todos os componentes críticos do sistema e a lógica de negócios.
-
Ele deve permitir versões de teste antes da implantação na produção.
-
Deve permanecer operacionalmente semelhante à produção, permitindo testes realistas.
-
Idealmente, o ambiente de preparo deve estar conectado aos ambientes de teste do Adobe Pass para:
-
Permitir que os programadores testem em relação à infraestrutura da Adobe.
-
Ativar o Adobe para auxiliar no teste e na solução de problemas quando necessário.
-
Fluxo de trabalho (WRK) workflow
Execute as etapas abaixo conforme mostrado no diagrama a seguir.
Guia da API V2 REST (Servidor a Servidor)
A. Fase de registro registration-phase
A finalidade da Fase de registro é registrar o aplicativo de transmissão na Autenticação do Adobe Pass por meio do processo de Registro dinâmico de cliente (DCR).
O processo de Registro dinâmico de cliente (DCR) exige que o aplicativo de streaming obtenha um par de credenciais de cliente e recupere um token de acesso como meta final da fase de registro.
A Fase de registro é obrigatória, mas o aplicativo de streaming pode ignorar essa fase se tiver um par de credenciais de cliente em cache e um token de acesso que ainda seja válido.
APIs:
Fluxos:
Perguntas frequentes:
Etapa 1: Registrar seu aplicativo step-1-register-your-application
-
Recuperar credenciais do cliente: o Serviço Programador recupera credenciais do cliente chamando o ponto de extremidade /o/client/register.
- O Serviço do programador ou Aplicativo do programador deve armazenar as credenciais do cliente e usá-las indefinidamente quando precisar recuperar um token de acesso.
-
Recuperar token de acesso: o Serviço Programador recupera o token de acesso chamando o ponto de extremidade /o/client/token.
- O Serviço do programador ou Aplicativo do programador deve armazenar e usar o token de acesso até que ele expire, depois descartá-lo e obter um novo.
B. Fase de autenticação authentication-phase
A finalidade da Fase de autenticação é fornecer ao aplicativo de streaming a capacidade de verificar a identidade do usuário e obter informações de metadados do usuário.
A Fase de autenticação atua como uma etapa de pré-requisito para a Fase de pré-autorização ou Fase de autorização quando o aplicativo de transmissão precisa reproduzir conteúdo.
APIs
- Criar sessão de autenticação
- Retomar sessão de autenticação
- Recuperar sessão de autenticação
- Executar autenticação no agente do usuário
- Recuperar perfis
- Recuperar perfil para mvpd específico
- Recuperar perfil para código específico
Fluxos
- Fluxo de autenticação básica executado no aplicativo principal
- Fluxo de autenticação básico executado no aplicativo secundário
- Fluxo de perfis básicos realizado no aplicativo principal
- Fluxo de perfis básicos realizado no aplicativo secundário
Perguntas frequentes
Etapa 2: verificar perfis autenticados existentes step-2-check-for-existing-authenticated-profiles
-
Recuperar perfis: O Serviço Programador verifica os perfis existentes em nome do Aplicativo de Streaming chamando o ponto de extremidade /api/v2/{serviceProvider}/profiles.
-
Cenário 1: Existem perfis, o Serviço Programador pode prosseguir para a Fase de Pré-autorização ou a Fase de Autorização.
-
Cenário 2: Não há perfis existentes, o Serviço Programador pode prosseguir para a próxima etapa para Autenticar o usuário.
-
Cenário 3: Não há perfis existentes, o Serviço de Programador pode continuar a fornecer ao usuário acesso temporário por meio do recurso TempPass.
- Este cenário está fora do escopo deste documento. Consulte a documentação Fluxos de Acesso Temporário para obter mais informações.
Etapa 3: Autenticar o usuário step-3-authenticate-the-user
-
Recuperar configuração: O Serviço Programador recupera a lista de MVPDs disponíveis chamando o ponto de extremidade /api/v2/{serviceProvider}/configuration.
- O Serviço de programador pode implementar um mecanismo de filtragem personalizado para refinar a lista de MVPDs a partir da resposta de configuração, de modo que o Aplicativo de transmissão exiba apenas os provedores pretendidos enquanto oculta outros (por exemplo, MVPDs em desenvolvimento, MVPDs de teste, TempPass). Isso garante que os usuários sejam apresentados a uma seleção com curadoria ao escolher seu provedor de TV.
-
Criar sessão de autenticação: O Serviço Programador inicia uma sessão de autenticação chamando o ponto de extremidade /api/v2/{serviceProvider}/sessions.
- O Serviço Programador deve retornar
code
eurl
para o Aplicativo de Streaming.
- O Serviço Programador deve retornar
-
Cenário 1: O Aplicativo de Streaming pode abrir um navegador ou uma exibição da Web, portanto, deve carregar a autenticação
url
.- O usuário envia seu nome de usuário e senha na página de logon do MVPD. Após a autenticação bem-sucedida, o redirecionamento final exibe uma página de sucesso.
-
Cenário 2: o Aplicativo de Streaming não pode abrir um navegador, portanto, deve exibir a autenticação
code
. É necessário um aplicativo Web separado para solicitar que o usuário insira ocode
, crie a autenticaçãourl
e abra: /api/v2/authenticate/{serviceProvider}/{code}.- O usuário envia seu nome de usuário e senha na página de logon do MVPD. Após a autenticação bem-sucedida, o redirecionamento final exibe uma página de sucesso.
Etapa 4: verificar perfis autenticados step-4-check-for-authenticated-profiles
-
Recuperar perfil para código específico: O Serviço Programador deve implementar um mecanismo de sondagem usando
code
para verificar se o perfil foi gerado e salvo com êxito, chamando o ponto de extremidade /api/v2/{serviceProvider}/profiles/code/{code}.-
O Serviço Programador deve iniciar o mecanismo de sondagem sob as seguintes condições:
-
Autenticação executada no aplicativo (tela) primário: O Serviço Programador deve iniciar a sondagem quando o usuário atingir a página de destino final, depois que o componente do navegador carregar a URL especificada para o parâmetro
redirectUrl
na solicitação do ponto de extremidade Sessões. -
Autenticação executada em um aplicativo secundário (tela): O aplicativo de Serviço Programador deve iniciar a sondagem assim que o usuário iniciar o processo de autenticação, logo após receber a resposta do ponto de extremidade Sessões e exibir o código de autenticação ao usuário.
-
-
O Serviço Programador deve interromper o mecanismo de sondagem sob as seguintes condições:
-
Autenticação bem-sucedida: As informações de perfil do usuário foram recuperadas com êxito, confirmando seu status de autenticação. Neste ponto, a pesquisa não é mais necessária.
-
Sessão de autenticação e expiração do código: a sessão de autenticação e o código expiram, conforme indicado pelo carimbo de data/hora
notAfter
(por exemplo, 30 minutos) na resposta do ponto de extremidade Sessões. Se isso acontecer, o usuário deverá reiniciar o processo de autenticação e a pesquisa usando o código de autenticação anterior deverá ser interrompida imediatamente. -
Novo código de autenticação gerado: Se o usuário solicitar um novo código de autenticação no dispositivo primário (tela), a sessão existente não será mais válida e a sondagem usando o código de autenticação anterior deverá ser interrompida imediatamente.
-
-
O Serviço Programador deve configurar a frequência do mecanismo de sondagem sob as seguintes condições:
-
Autenticação executada no aplicativo (tela) primário: O Serviço Programador deve sondar a cada 3-5 segundos ou mais.
-
Autenticação executada em um aplicativo secundário (tela): O Serviço Programador deve sondar a cada 3-5 segundos ou mais.
-
-
O Serviço de programador deve armazenar em cache partes das informações de perfil do usuário em um armazenamento persistente para evitar solicitações desnecessárias e melhorar a experiência do usuário.
-
C. Fase de pré-autorização (facultativa) preauthorization-phase
O objetivo da Fase de pré-autorização é fornecer ao aplicativo de streaming a capacidade de apresentar um subconjunto de recursos de seu catálogo que o usuário teria direito de acessar.
A Fase de pré-autorização pode aprimorar a experiência do usuário quando ele abre o aplicativo de streaming pela primeira vez ou navega para uma nova seção.
A Fase de pré-autorização não é obrigatória. O aplicativo de streaming pode ignorar essa fase se quiser apresentar um catálogo de recursos sem filtrá-los primeiro com base nos direitos do usuário.
Etapa 5: verificar recursos pré-autorizados step-5-check-for-preauthorized-resources
-
Recuperar decisões de pré-autorização: O Serviço Programador recupera decisões de pré-autorização para uma lista de recursos chamando o ponto de extremidade /api/v2/{serviceProvider}/Decisions/preauthorize/{mvpd}.
-
O Serviço do programador deve passar a lista de decisões de permissão e negação de pré-autorização para o aplicativo de streaming.
-
O Serviço do Programador não é necessário para armazenar decisões de pré-autorização em armazenamento persistente. No entanto, é recomendável armazenar em cache as decisões de permissão na memória para melhorar a experiência do usuário. Isso ajuda a evitar chamadas desnecessárias para recursos que já foram pré-autorizados, reduzindo a latência e melhorando o desempenho.
-
O Serviço de Programador pode determinar o motivo de uma decisão de pré-autorização negada ao inspecionar o código de erro e a mensagem incluídos na resposta do ponto de extremidade de Pré-autorização de Decisões. Esses detalhes fornecem informações sobre o motivo específico pelo qual a solicitação de pré-autorização foi negada, ajudando a informar a experiência do usuário ou acionar qualquer manipulação necessária no aplicativo. Certifique-se de que qualquer mecanismo de repetição implementado para recuperar decisões de pré-autorização não resulte em um loop infinito se a decisão de pré-autorização for negada. Considere limitar as tentativas a um número razoável e lidar com as negações normalmente ao exibir comentários claros para o usuário.
-
O Serviço do programador pode obter uma decisão de pré-autorização para um número limitado de recursos em uma única solicitação de API, geralmente até 5, devido a condições impostas pelos MVPDs. Este número máximo de recursos pode ser exibido e alterado após a aceitação dos MVPDs por meio do Painel TVE da Adobe Pass por um dos administradores da organização ou por um representante da Autenticação Adobe Pass que atue em seu nome.
-
D. Fase de autorização authorization-phase
A finalidade da Fase de autorização é fornecer ao aplicativo de streaming a capacidade de reproduzir recursos que o usuário solicita após validar seus direitos com a MVPD.
A Fase de autorização é obrigatória, o aplicativo de streaming não poderá ignorar essa fase se quiser reproduzir recursos que o usuário solicitar, pois requer a verificação com o MVPD de que o usuário tem direito antes de liberar o fluxo.
Etapa 6: verificar recursos autorizados step-6-check-for-authorized-resources
-
Recuperar decisão de autorização: O Serviço Programador recupera a decisão de autorização para um recurso específico passado pelo Aplicativo de Streaming chamando o ponto de extremidade /api/v2/{serviceProvider}/decision/authorize/{mvpd}.
-
O Serviço do Programador não é necessário para armazenar decisões de autorização em armazenamento persistente.
-
O Serviço de Programador pode determinar o motivo de uma decisão de autorização negada ao inspecionar o código de erro e a mensagem incluídos na resposta do ponto de extremidade de Autorização de Decisões. Esses detalhes fornecem ao insight o motivo específico pelo qual a solicitação de autorização foi negada, ajudando a informar a experiência do usuário ou acionar qualquer manipulação necessária no aplicativo de streaming. Certifique-se de que qualquer mecanismo de repetição implementado para recuperar decisões de autorização não resulte em um loop infinito se a decisão de autorização for negada. Considere limitar as tentativas a um número razoável e lidar com as negações normalmente ao exibir comentários claros para o usuário.
-
O Serviço de programador pode avaliar outras regras de negócio e devolver uma decisão de autorização apropriada ao Aplicativo de streaming.
-
O Serviço de programador não é necessário para atualizar um token de mídia expirado enquanto o fluxo estiver sendo reproduzido ativamente. Se o token de mídia expirar durante a reprodução, o fluxo deverá continuar sem interrupções. No entanto, o cliente deve solicitar uma nova decisão de autorização — e obter um novo token de mídia — na próxima vez que o usuário tentar reproduzir um recurso.
-
O Serviço de programador pode obter uma decisão de autorização para um número limitado de recursos em uma única solicitação de API, geralmente até 1, devido a condições impostas pelos MVPDs.
-
E. Fase de saída logout-phase
A finalidade da Fase de logout é fornecer ao aplicativo de streaming a capacidade de encerrar o perfil autenticado do usuário na Autenticação do Adobe Pass mediante solicitação do usuário.
A Fase de logout é obrigatória, o aplicativo de streaming deve fornecer ao usuário a capacidade de fazer logout.
APIs
Fluxos
Perguntas frequentes
Etapa 7: Logout step-7-logout
-
Iniciar logout do Adobe Pass: O Serviço Programador inicia o fluxo de logout conforme solicitado pelo Aplicativo de Streaming ao chamar o ponto de extremidade /api/v2/{serviceProvider}/logout/{mvpd}.
-
O Serviço do programador pode apagar todas as informações armazenadas sobre o usuário autenticado.
-
O Serviço Programador deve seguir as instruções fornecidas nos atributos
actionName
eactionType
da resposta do ponto de extremidade de logout para garantir que o processo de logout seja concluído corretamente.-
Se o atributo
actionType
na resposta for definido como "interativo", o Serviço de Programador deverá retornar o valor do atributourl
para o Aplicativo de Streaming.-
Cenário 1: O Aplicativo de Streaming pode abrir um navegador ou uma exibição da Web, portanto, deve carregar o logout
url
. -
Cenário 2: o Aplicativo de Streaming não pode abrir um navegador, portanto, o processo de logout pode ser interrompido porque a sessão do MVPD não foi mantida em um cache de navegador do Dispositivo de Streaming.
-
-
-