Como configurar a autenticação externa

🔓 Esse recurso é disponível no plano Advanced do Zeev. Consulte https://zeev.it/planos-e-precos/ para mais detalhes.

Requisitos para usar a autenticação externa

  1. É necessário possuir o plano Advanced do Zeev;

  2. As pessoas devem ser cadastradas no Zeev através das formas de cadastro disponíveis, sendo associadas ao tipo de autenticação "Somente via autenticação externa JWT";

  3. É preciso solicitar a habilitação ao time de suporte.

Localizar token para configurar a autenticação externa

É preciso acessar o menu Configurar e ter a possibilidade de autenticação externa habilitada. Sua chave constará no item abaixo.

Como configurar a autenticação externa

  1. A equipe Zeev deve, primeiramente, habilitar esse tipo de autenticação no seu ambiente Zeev e informar a chave secreta gerada;

  2. Você deve customizar seu sistema/plataforma para integrar ao Zeev;

  3. Com a chave secreta em mãos, na plataforma/sistema, gere o Token JWT conforme a tabela de requisitos abaixo;

  4. Após a geração do token, na plataforma/sistema, faça uma chamada ao Zeev, através da url /api/services/1/externalaccess?token=, passando o token recém gerado como parâmetro. Caso o token informado esteja válido, esta url irá redirecionar para o Zeev, com o usuário informado já autenticado.

Cabeçalho/Header

Nome do parâmetro
Tipo
Descrição
Valores aceitos

alg

String, obrigatório

Algoritmo utilizado no token

Somente “HS256”

typ

String, obrigatório

Tipo do token (ex.: JWT).

Somente “JWT”

Carga/Payload

Nome do parâmetro
Tipo
Descrição
Valores aceitos

username

String, obrigatório

Login do usuário conforme cadastro da pessoa no Zeev, no campo “E-mail para autenticação / Usuário”

String de até 50 caracteres.

iat

NumericDate,

obrigatório

IssuedAt, identifica a hora em que o token foi gerado.

exp

NumericDate,

obrigatório

Expiration Time, identifica a hora em que o token deve expirar.

Deve ser preenchido com a data de geração do token adicionado de alguns minutos (ex.: 10 minutos). Serve para impedir que os tokens sejam válidos por tempo indeterminado. Não afeta o tempo de sessão, que é controlado por outro mecanismo.

iss

Issuer, obrigatório

URL do portal/plataforma integrada ao Zeev

aud

Audience, obrigatório

Valor fixo “Zeev”

Signature

A Signature é composta pelo resultado da operação HMACSHA256 dos dados de cabeçalho, carga e chave secreta. Exemplo: HMACSHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload), "secret key/chave secreta sem aspas duplas")

Nome do parâmetro
Tipo
Descrição

secret key / chave secreta

string de 32 caracteres, obrigatório

É a chave de 32 caracteres gerada pela tela de configurações do Zeev. A chave gerada pelo Zeev atende as boas práticas de segurança que indicam ser necessário utilizar chave secreta com mais do que 128bits (>16 caracteres) e não utilizar palavras conhecidas. Vide https://www.rfc-editor.org/rfc/rfc8725#name-weak-symmetric-keys

Como gerar o Token JWT

O JSON Web Token (JWT) é um padrão de mercado, definido pela RFC 7519, para a transmissão segura de informações entre duas partes. Para maiores detalhes sobre este padrão, consulte a especificação da RFC 7519 (https://www.rfc-editor.org/rfc/rfc7519) e o site https://jwt.io/.

O seu sistema poderá fazer a geração do Token JWT manualmente, seguindo as especificações da RFC 7519. No entanto, recomendamos utilizar alguma biblioteca de mercado pronta. No link https://jwt.io/libraries você pode encontrar uma lista de bibliotecas, em diversas linguagens, que podem facilitar a implementação da geração do token.

Você também pode utilizar o site https://jwt.io/ para gerar tokens de teste e validação, respeitando os parâmetros informados na tabela acima, pois os tokens gerados por este site estão em conformidade com o padrão utilizado no Zeev.

Para fins de teste, compartilhamos abaixo um exemplo de geração do token pelo jwt.io:

Estrutura do JSON à direita, token JWT à esquerda.

Atualizado