Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. DADOS GERAIS

Produto:

TOTVS Agro Plataforma (API)


Linha de Produto:

Linha PIMS

Segmento:

Agroindústria

Módulo:

Framework

Função:Todas
País:Brasil
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :

Jira
serverJIRA
serverId0c783de1-186e-383b-975c-a1acd7d76cb5
keyDAGROFRAME-

5535

5536

Jira
serverJIRA
serverId0c783de1-186e-383b-975c-a1acd7d76cb5
keyDAGROFRAME-

5562

5594

02. SITUAÇÃO/REQUISITO

  • Criação da API de pulso de licenciamentode APIs para gestão de licenças aos usuários e dispositivos móveis relacionados aos aplicativos móveis (Imagem 1) (Tela de Clientes)

03. SOLUÇÃO

  • Implementado duas novas APIs REST para compor o gerenciamento de licenças de usuários e dispositivos móveis por cliente.
    • GET /v1/services/license/app-mobile/{tcode}
    • POST /v1/services/license/app-mobile/{tcode}
  • Com essas APIs, conseguimos fazer a gestão e contagem de licenças relacionado ao clientes.
  • Foi implementado validações na classe service para compor a requisição Upsert POST:
    • Validação da existência do cliente via tcode.
    • Validação da existência de um AppMobile por aplicativo no DTO.
    • Validação se AppMobile está acessível para o cliente.
    • Validação se existe mais de uma LicenseAppMobile por aplicativo para o cliente
  • Foi implementado novo pacote license.pulse_slot para compor nova API de pulsos para licenciamento móvel.
  • Implementado service, onde contém o principal método de pulso, com ele, conseguimos enviar algumas informações e conseguimos gerar um JWT com a validação ou não da licença móvel.
  • Também no service, foi criado várias validações necessárias para ter a geração do JWT corretamente, que seriam:
    • Validação do cliente baseado no clientSecretToken.
    • Validação do pulse-type.
    • Validação na tabela license_pulse_slot, se já contém um token para aquele usuário, dispositivo, aplicativo e cliente.
    • Validação da licença do cliente relacionado aos acessos globais em questão.
    • Validação da licença do cliente relacionado ao usuário e dispositivo em questão.
    • Validação da licença do cliente relacionado ao aplicativo em questão.
  • Na classe controller, foi construído a API POST:
    • /v1/services/license/pulse
  • Token JWT é gerado para compor os dados de licença, onde contém as informações necessárias para os aplicativos móveis
    • .


Expandir
titleLicense JWT App Mobile (JSON)
Bloco de código
[
    {
        "licenseidAppMobile": "eyJhbGciOiJSUzI1NiIsInR5cCI6Ika49c0731-4c4e-47cd..."
}
Expandir
titleLicensePulseSlot (JSON)
Bloco de código
{
,
        "tcodeisGranted": "TXXXXX"false,
        "deviceIdvalidateUser": "lorem.device.id"false,
        "appIdvalidateDevice": "46e90af0-d80c..."true,
        "userIdqtdLicenseDevice": "lorem.ipsum"7,
        "geojsonqtdLicenseAccess": {7
    },
    "lat": "LAT",{
        "lngidAppMobile": "LNG"a078fb24-4bbf-4230...",
    },
    "dataisGranted": {false,
        "tileeqtdLicenseDevice": "TITLE"8,
        "messageeqtdLicenseAccess": "MESSAGE"8
    }
}]


04. DEMAIS INFORMAÇÕES

Não se aplica.

...