1. Home
  2. ...
  3. Authorizations
  4. Tutorial - Sensedia API Platform autorizando publicadores

Tutorial - Sensedia API Platform autorizando publicadores

Como usar a Sensedia API Platform para autorizar publicadores.

O Events Hub permite que você use um servidor externo para validar client ID e/ou tokens de acesso dos publicadores que enviam requisições ao Events Hub.

Uma das opções é utilizar a Sensedia API Platform para fazer essa validação.

NOTE

Clientes do Sensedia API Management v5: para validar client ID e/ou tokens de acesso dos publicadores, você deverá importar a API de autorização do Events Hub.

A gente explica: imagine que você está organizando um evento em um local. Você quer que apenas pessoas autorizadas entrem. Então, você coloca um segurança na entrada para verificar a identidade das pessoas. O servidor de autorização atua da mesma forma. Você seleciona o tipo de validação que quer fazer e ele se certifica que a validação seja cumprida.

Como funciona?

Na página de Policies, você pode criar políticas de segurança para aplicar aos handlers.

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

Existem 5 interceptores disponíveis e 4 precisam do servidor de autorização de publicadores para funcionar. São eles:

  • Access Token Validation

  • Client ID Validation

  • OAuth Validation

  • JWT Validation

Ao selecionar qualquer um deles, você precisa configurar a URL de autorização na tela Authorizations.

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

Para utilizar a Sensedia API Platform como servidor de validação das políticas:

Acesse API Design > API Catalog e busque por API Events Hub Authorization.

Na API Events Hub Authorization, vá até a seção Environments.

Escolha o ambiente que deseja configurar, clique no ícone de link e copie a URL.

  • Você precisará complementá-la com a informação do interceptor, portanto, cole-a em um arquivo.

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

Cole o path do interceptor no final da URL do ambiente. Esta será a URL da sua autorização.

Com a URL completa copiada, acesse Events Hub > Authorizations e encontre o contexto que será validado por esta autorização.

Clique no ícone de adicionar, cole a URL da autorização e salve.

TIP

Para cadastrar um contexto de teste para a autorização, na seção Environments, copie o link do seu ambiente de teste.

A seção Resources and Operations está dividida entre OAuth e JWT. Atenção ao copiar o path da sua URL:

  • A URL da autorização deve ser gerada respeitando as políticas 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.

Consulte como configurar os interceptores disponíveis:

Client ID Validation

O interceptor Client ID Validation requer uma validação simples de client ID.

NOTE

Ao cadastrar este interceptor para uma política, você precisa definir o nome que será usado para passar o valor de Client ID (por exemplo, client_id) e onde será passado na requisição (cookie, header, header ou cookie, query param ou any).

Confira o passo a passo para configurar um Client ID Validation:

Na Sensedia API Platform:

Acesse Consumers > APPS e clique em + Create APP.

Na aba APIS AND PLANS, busque por Events Hub Authorization 1.0 e selecione-a no botão SELECT ALL PLANS.

Clique em PUBLISH YOUR APP.

No Events Hub:

Cadastre o publicador:
  • Com a APP salva, acesse a tela Publishers.

  • Coloque o cursor sobre o botão + e clique em Import From API Platform.

  • Encontre a APP cadastrada e clique em SAVE.

  • Clique em ADD ENABLED TOPICS e vincule o publicador ao tópico desejado.

  • Habilite o contexto que será validado pelo interceptor clicando em New context. Se não habilitar nenhum, a validação não funcionará.

Acesse o handler:

  • Na tela de Handler, encontre o que cadastrou para essa validação.

  • Na aba Topics, copie a URL do contexto habilitado para o interceptor de Client ID.

No Postman:

No POST, cole a URL do seu contexto.

Insira o parâmetro de client ID no header da requisição com o nome igual ao que cadastrou para a política (ex: client_id) e clique em Send.

Verifique se a requisição foi bem-sucedida no ícone de status do handler.

Quão satisfeito você está com esta página?

Nosso site utiliza cookies para habilitar funcionalidades essenciais de avaliação e notificações. Não utilizamos cookies de rastreamento para publicidade ou análise de terceiros.Saiba mais