Páginas filhas
  • DFWKLOGIX-850 DT Permitir autenticação via OIDC a partir do menu


01. DADOS GERAIS

Produto:

TOTVS Framework

Linha de Produto:

Linha Logix

Segmento:

Tecnologia

Módulo:

Framework (Linha Logix) - Administração Logix

Função:Autenticação de usuário a partir do menu 
País:Brasil
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :DFWKLOGIX-850


02. SITUAÇÃO/REQUISITO

Apresentar novo botão a partir da tela de autenticação do menu padrão do produto que deve permitir autenticar usuário via um provedor de identidade cadastrado no Provedores de identidade (LOG00250).

DISPONÍVEL SOMENTE A PARTIR DO BUILD HARPIA

03. SOLUÇÃO

Quando existir um provedor de identidade ativo cadastrado em Provedores de identidade (LOG00250), o menu Logix passará a apresentar um botão adicional na tela de autenticação do menu conforme modelo da imagem abaixo:


No exemplo acima mostrou um botão para autenticar usuário via IDP (Identity Provider) da Microsoft, no entanto, poderá ser qualquer provedor de identidade desde que atenda ao uso do protocolo OIDC (OpenID Connect). Essa autenticação terá como objetivo apenas substituir a atual autenticação de usuario e senha interna do produto Logix por um autenticador externo de usuário e senha, sendo que as demais consistências de usuário, como bloqueio de usuários e permissões de acesso continuam valendo no produto.

Para que um usuário do produto possa realizar autenticação a partir deste novo botão de acesso via provedor de identidade, o vínculo com o produto logix será a partir do e-mail do usuário Logix registrado em Cadastro de Usuários (LOG02700) e neste mesmo cadastro o usuário deverá ter o tipo de autenticação registrado como "Via Provedor de Identidade", caso contrário o sistema não permtirá acesso ao Logix, mesmo que obtenha sucesso na autenticação via provedor de identidade e que seja um usuário válido no Logix.


Como o provedor de identidade irá retornar informações para o produto Logix para garantir que a solicitação de autorização seja de um usuário válido do produto?

No provedor de identidade, os usuários terão o registro da conta de e-mail que será o mesmo e-mail do usuário do produto Logix.

No provedor de identidade deverá ser criada uma aplicação que seja utilizada para autenticação especificamente usuários para o produto Logix. Esta aplicação deverá respeitar o fluxo implícito de autorização que retornará para o produto LOGIX um token (ID_TOKEN). Este TOKEN é enviado para o Logix toda vez que o provedor confirmar uma autenticação de usuário Logix válido usando uma URI de Redirecionamento que deverá ser configurada nesta aplicação criada para o Logix no provedor. 

A URI de Redirecionamento obrigatoriamente deverá ser registrada no provedor de identidade com o seguinte endereço URLhttps://<HOST_APPSERVER_AUTH>:<PORT_REST_APPSERVER_AUTH>/<URL_BASE_REST_APPSERVER_AUTH>/api/sec/v1/oidc/authn/callback


Portanto, na aplicação cadastrada no provedor de identidade para acessar via OpenID Connect atente para as seguintes características:

    • Ativar Fluxo implícito para obter o Token de acesso a partir do EndPoint de autorização
    • A configuração RESPONSE_TYPE do endpoint de autorização deve ser ID_TOKEN usado tanto para fluxo implícito quanto híbrido.
    • Os escopos previstos (SCOPES) deverão ser OPENID, PROFILE e EMAIL.
    • A configuração da Redirect URI deverá apontar para um endereço de API REST em um appserver isolado do Logix que será usado apenas para gerenciar a recepção dos Tokens de Acesso resultantes das autenticações de usuários via provedor de identidade.
      Este endereço deverá seguir o seguinte padrão: https://<HOST_appserver_auth>:<PORT_REST_appserver_auth><URL_BASE_REST_appserver_auth>/api/sec/v1/oidc/authn/callback.
      A URL_BASE_REST é o valor da chave URL configurada para uma das URIs registradas na chave URIS da seção [HTTPREST] no arquivo de configuração do AppServer Logix (AppServer.ini).


DICA


Sugerimos que seja instalado um appserver de uso exclusivo para processar a recepção e processamento dos tokens de autenticação de usuários via provedor de identidade no Logix, onde terá o serviço REST ativo e a segurança HTTPS ativa, pois por padrão a maioria dos provedores de identidade exigem que o endereço de URI de redirecionamento usem protocolo HTTPS e não HTTP.

O provedor de identidade deverá ter acesso ao IP e porta REST do appserever Logix que irá receber os tokens de autenticação.

Para mais informações de como cadastrar e configurar a aplicação no provedor de identidade que é pré-requisito para permitir essa funcionalidade de autenticação, acesse a documentação disponível do provedor de identidade a ser utilizado.


04. DEMAIS INFORMAÇÕES


PASSO A PASSO PARA PERMITIR AUTENTICAÇÃO NO LOGIX VIA PROVEDOR DE IDENTIDADE:


Pré-requisitos:

    • Processamento de conversores de tabelas MEN00151.CNV e MEN00152.CNV para criar as tabela LOG_PROVIDER_IDENTITY e LOG_PROVIDER_AUTH.
    • Importar XML destas 2 novas tabelas e também dos formulários LOG00250 (Cadastro de Provedores de Identidade) e LOG02700 (Cadastro de usuários).


1 - Cadastrar Provedor de Identidade via Provedores de identidade (LOG00250)

2 - Configurar em Central de Usuários (LOG05050) a partir do cadastro de usuários o tipo de autenticação de usuários como "Via provedor de Identidade" e registrar també o respectivo e-mail de usuário que será utilizado para autenticação. Lembrando que este e-mail de usuário deverá ser único para garantir a identificação correta do usuário Logix no processo de autenticação.

3 - Garantir que a biblioteca JWTValid.jar esteja disponível na pasta TOOLS localizada a partir da pasta configurada como ROOTPATH do Appserver. Para mais detalhes veja DFWKLOGIX-847 DT Função para validação de TOKEN JWT.

4 - Cadastrar aplicação no provedor de identidade que será utilizada para autenticar usuários para o produto Logix. Esta aplicação precisa estar configurada para usar o fluxo implicito de autorização e não deve-se esquecer de registrar a URI de redirecionamento conforme mencionado acima no tópico "Como o provedor de identidade irá retornar informações para o produto Logix para garantir que a solicitação de autorização seja de um usuário válido do produto?"

5 - RPO do pacote 12.1.2309 ou então aplicação de FIX Framework Logix 12.1.2305.FIX01.

6 - (sorriso) PRONTO! O Logix já estará configurado e pronto para permitir autenticação via provedor de identidade.


IMPORTANTE!

Disponível a partir do pacote oficial 12.1.2311 ou Framework Fix 12.1.2305(fix01)


05. ASSUNTOS RELACIONADOS