Authorizations

Na tela Authorizations, você pode configurar endpoints para validar client ID e/ou tokens de acesso dos publicadores de eventos, permitindo que eles enviem requisições ao Events Hub.

Para definir requisições com autorização, você pode adicionar interceptores de segurança como OAuth Validation, JWT Validation, Client ID Validation e Access Token Validation nas políticas aplicadas a handlers. Quando pelo menos um desses interceptores for usado, o Events Hub enviará requisições às URLs de autorização definidas na tela para validar os publicadores e aceitar suas requisições.

A utilização de interceptores de segurança é opcional. No entanto, se adicionar policies ao seu handler, você precisa configurar a URL do Authorization vinculado ao interceptor. Com excessão do "IP Filtering Validation", todos dependem dessa configuração para funcionar.
Se for utilizar a Sensedia API Platform para isso, veja como obter a URL de autorização.

Clientes do Sensedia API Management v5: Para obter a URL de autorização, você deverá importar a API de autorização do Events Hub.

Como funciona

A configuração de URLs de autorização é feita por contexto, que é um dos marcadores da URL de publicação de eventos, formada por: URL base + context + handler + topic.

Essa configuração por contexto facilita o envio de eventos de diferentes cenários para o mesmo tópico, como por exemplo, eventos de ambiente produtivo e de teste.

Exemplo de uso

Digamos que você quer testar tópicos já usados por publicadores e subscritores parceiros, mas prefere usar um mock de autorização para os testes em vez dos endpoints reais de autorização. Nesse caso, você pode:

  1. criar um contexto para seus testes e habilitá-lo para os tópicos desejados;

  2. vincular publicadores e subscritores para enviar e receber eventos dos tópicos correspondentes aos contexto;

  3. e configurar um mock de autorização de OAuth e/ou JWT para o contexto na tela Authorizations.

Com isso, os publicadores que enviarem requisições para tópicos no contexto que você criou, serão validados pelo mock configurado. Já os publicadores que enviarem eventos para os mesmos tópicos, no contexto padrão ("Default"), serão validados pela URL configurada para esse contexto.

  • Os contextos são divisões lógicas para facilitar a criação e manutenção de tópicos, permitindo reutilizá-los em diferentes cenários. Eles não são ambientes fisicamente separados uns dos outros.

  • Isso quer dizer que, se você usa o contexto "Default" para eventos produtivos e o contexto "Testing" para eventos de teste, consegue controlar os publicadores, subscritores e endpoints de autorização para cada contexto. No entanto, todos os eventos recebidos e distribuídos no Events Hub compartilham a mesma infraestrutura.

  • Testes que sobrecarreguem a infraestrutura, mesmo feitos no contexto de teste, poderão afetar o recebimento e distribuição de eventos nos outros contextos.

Acesse mais informações sobre o funcionamento dos contextos.

Configuração

A tela Authorizations tem duas seções: OAUTH e JWT. Em ambas são mostrados todos os contextos cadastrados no Events Hub, indicando a URL de autorização que está definida para cada um.

  • Se nenhum endpoint de autorização estiver cadastrado para o contexto, haverá o ícone icon add1 na coluna ACTIONS para adicionar uma URL.

  • Se uma URL já estiver cadastrada, o ícone icon edit permite editá-la e o ícone icon delete permite excluí-la.

auth screen
  • Se você não cadastrar ou remover a URL de autorização para um contexto, as publicações enviadas para ele usando os interceptores de segurança não serão aceitas. Você receberá uma mensagem de erro com o código de estado 401, indicando que não está autorizado.

  • Nesse caso, publicações para tópicos interceptados por OAuth ou JWT são impedidas.

Obter a URL de autorização usando a Sensedia API Platform

Para utilizar a Sensedia API Platform como servidor de validação das policies, você deve fazer algumas configurações:

  1. Acesse a Sensedia API Platform  API Design  API Catalog e busque por API Events Hub Authorization;

  2. Na API Events Hub Authorization, vá até a seção Environments. Escolha o ambiente que deseja configurar, clique sobre o ícone icon link e copie a URL. Você precisará complementá-lo com a informação do interceptor, portanto, cole-o em um arquivo;

  3. Vá até a seção Resources and Operations e copie o path POST do tipo de interceptor que utilizará;

  4. Cole o path do interceptor no final da URL do ambiente. Esta será a URL do seu authorization;

  5. Com a URL completa copiada, acesse Events Hub  Authorizations e encontre o contexto que será validado por este authorization;

  6. Clique no ícone icon add1, cole a URL do authorization e salve.

Se irá cadastrar um contexto de teste para o authorization, na seção Environments, copie o link do seu ambiente de teste.

A seção Resources and Operations está dividida entre OAuth e JWT. Na hora de copiar o path da sua URL, atente-se que:

  • A URL do authorization deve ser gerada respeitando as policies inseridas no contexto;

  • Se inseriu interceptores de OAuth Validation, copie o path de Oauth.

  • Se inseriu interceptores de JWT Validation, copie o path de JWT.

Os interceptores são configurados em políticas, que são aplicadas a handlers na criação ou edição dos mesmos. Todos os tópicos agrupados em um handler utilizam os interceptores configurados na política aplicada ao handler.

Thanks for your feedback!
EDIT
How useful was this article to you?