01. DADOS GERAIS
Produto: | TOTVS Framework
|
---|---|
Linha de Produto: | Linha Datasul |
Segmento: | Tecnologia |
Módulo: |
Framework (Linha Datasul) - Segurança (SEC)
|
Função: | JWT |
País: | Brasil |
Ticket: | |
Requisito/Story/Issue (informe o requisito relacionado) : | DFWKTOOLS-6194 |
02. SITUAÇÃO/REQUISITO
Ao realizar a geração do token JWT não é retornado o atributo tenantId (audiência), assim sendo, estava em desconformidade com a RFC000015
03. SOLUÇÃO
Foi implementado a geração do atributo tenantId (audiência) no Token JWT, conforme apresentada na RFC000015 - Padronização do JWT, para efetuar um controle mais adequado e seguro em autorizações de acesso por intermédio da validação do Token JWT.
Geração do Token JWT
Para cada empresa, será atribuído um UUID gerado automaticamente na tela do cadastro de empresas.
Ao efetuar a geração do Token JWT (endpoint /api/auth/accesstoken), caso seja necessário considerar uma empresa específica (onde o usuário de autenticação possuir relacionamento com a mesma), deve ser enviado como parâmetro no Body da requisição com o tipo x-www-form-urlencoded. Caso o parâmetro não seja enviado, é considerada a empresa do usuário logado.
Figura 1 - Parâmetro companyId
O procedimento de geração do Token JWT realiza uma busca da empresa (no banco de dados) e caso encontre o UUID previamente gerado, retorna seu atributo como tenantId.
{ "sub": "super", "iat": 1648490276, "exp": 1648493876, "tenantId": "e03e4056-2a64-74ae-9214-d4f1a05852ca" }
04. DEMAIS INFORMAÇÕES
Não se aplica.
05. ASSUNTOS RELACIONADOS
- https://arquitetura.totvs.io/architectural-records/RFCs/Corporativas/RFC000015/
- https://tdn.totvs.com/pages/releaseview.action?pageId=677019844