Autenticação
Existem duas formas de se comunicar com a plataforma Kruzer: utilizando tokens JWT ou chaves de API. Ambas as abordagens permitem a definição de escopos de acesso aos recursos, mas cada uma possui um propósito específico, que será explorado a seguir.
Chaves de API
As chaves de API são credenciais geradas através da plataforma, permitindo ao usuário definir de forma granular o escopo de acesso. O principal objetivo dessas chaves é facilitar integrações seguras entre a plataforma Kruzer e softwares externos.
As chaves de API foram projetadas para suportar períodos de expiração específicos ou permanecerem ativas por tempo indeterminado. Além de permitir a definição de permissões detalhadas, as chaves podem ter suas sessões encerradas a qualquer momento, garantindo controle total sobre o acesso de aplicações de terceiros à plataforma.
É altamente recomendável criar chaves de API individualizadas para cada integração habilitada na sua distribuição. Isso assegura maior visibilidade e rastreabilidade das integrações realizadas, sendo uma estratégia ideal para autenticar integrações que podem interagir com as APIs da Kruzer a qualquer momento.
Gerando suas chaves de API
Para gerar chaves de API, é necessário estar autenticado na plataforma e acessar o menu Configurações > Permissões. Esta seção é dedicada ao gerenciamento de funções e credenciais de acesso à plataforma.
Antes de prosseguir, é crucial criar uma nova função onde o escopo de acesso aos recursos da Kruzer será definido. Dessa forma, é possível restringir o acesso apenas aos recursos necessários para a integração específica.
Após definir a função da chave de acesso, navegue até a aba Integração para criar uma nova chave. Certifique-se de associar a chave à função criada anteriormente.
Ao criar uma nova chave de API, serão gerados um par chaves APP_KEY & APP_SECRET, a qual estará disponível apenas uma vez. A Kruzer não armazena a APP_SECRET, portanto, caso você a perca, será necessário gerar uma nova e substituí-la em suas integrações.
Utilizando as chaves de API
As chaves de API podem ser utilizadas através da estratégia de autenticação Basic Authentication, onde o APP_KEY e o APP_SECRET são unidos por um separador “:” e convertidas em Base64, sendo informadas pelo pelo header Authentication como no exemplo abaixo:
Authorization: Basic {Base64( $APP_KEY : $APP_SECRET )}
JWT Token
A abordagem JWT é ideal para enviar requisições autenticadas, onde o estado da autenticação é gerenciado pelo cliente. Essa estratégia é especialmente útil para aplicações que seguem o padrão de arquitetura Jamstack ou para aplicativos móveis.
Como os tokens JWT são gerenciados pelo cliente, eles possuem um tempo de vida curto. Isso garante que, mesmo que esses tokens sejam comprometidos, eles serão invalidados em pouco tempo, tornando essa abordagem adequada para aplicações em que a sessão deve estar ativa apenas enquanto o usuário interage com a plataforma.
Como obter um token JWT
Os tokens JWT são obtidos ao enviar uma requisição ao endpoint de autenticação da plataforma, fornecendo as credenciais do usuário (e-mail e senha).
As credenciais dos usuários são gerenciadas dentro da plataforma, onde o administrador pode criar permissões de escopo granular e atribuí-las aos novos usuários.
```js title=”Abaixo você pode ver um exemplo de obtenção do token JWT:” curl -X POST ‘http://iam-api.your-domain.krzlabs.io/api/v1/auth/login’
-H ‘Content-Type: application/json’
–data-raw ‘{ “email”: “user@example.com”, “password”: “supersecret” }’
Se a autenticação for bem-sucedida, um objeto será retornado na resposta contendo a propriedade jwt, que é o token JWT do usuário, com todas as permissões que ele possui na plataforma.
### Utilizando o token JWT
O token JWT deve ser utilizado na autenticação do tipo `Bearer Authentication`, informando-o no cabeçalho `Authorization`, conforme o exemplo abaixo:
```bash
Authorization: Bearer {jwt_token}
Copyright © 2025 kruzer | All Rights Reserved