Pergunta
· Jun. 10

Duvidas sobre o uso de JWT

Estamos desenvolvendo uma aplicação em React e essa aplicação terá seus próprios usuários/senhas. Estamos fazendo alguns testes de autenticação, e estamos procurando conhecer melhor JWT do Iris. Entretanto, segundo a documentação, precisamos passar um body com um usuário do Iris para então receber o token JWT. A nossa preocupação é que essa primeira chamada não parece ser segura, já que precisamos enviar esse body aberto para então conseguir um token. Alguma sugestão de como enviar esse body de forma oculta? utilizamos como draft um post da comunidade:
 

https://community.intersystems.com/post/creating-rest-api-jwt-authentica...

Product version: IRIS 2024.1
Discussão (2)2
Entre ou crie uma conta para continuar

Os documentos retornados não mencionam nenhuma solução específica para enviar o body de autenticação com um usuário no Iris de maneira oculta durante a obtenção do token JWT. Eles destacam que o endpoint /login exige o envio do usuário e da senha em formato JSON no corpo da requisição para receber tokens de acesso e atualização. O exemplo de payload mencionado é:

{"user": "SEU_USUARIO", "password": "SUA_SENHA"}

Se os valores forem válidos, o servidor retornará os tokens no corpo da resposta [1].

Como o envio é feito em uma conexão HTTP, recomenda-se utilizar HTTPS para criptografar os dados durante a transmissão, garantindo maior segurança no transporte dos dados sensíveis de autenticação. Isso é uma prática padrão para proteger requisições que contêm informações como usuário e senha [1]. Caso precise de mais detalhes, os documentos sugerem configurar a autenticação JWT no Iris corretamente para mitigar preocupações de segurança [2][3][1].

Sources:

Olá @Guilherme Silva 

Você deve ter um servidor HTTP, (apache, iis, nginx) com https habilitado e com o webgateway configurado, dessa forma toda a comunicação com IRIS será segura mesmo antes de fornecer o token JWT.

Este artigo demonstra uma configuração https com IIS
HTTP and HTTPS with REST API | InterSystems Developer Community | Contest

Este outro link é um container com apache e letsencript que você pode usar como base
https://github.com/lscalese/isc-webgateway-letsencrypt