Logon integrado com criptografia
Esse tipo de logon possibilita integrar um sistema de terceiros com os sistemas Senior sem exigir que o usuário informe seus dados de acesso, se este já tenha informado em outro sistema.
Requisitos para utilização da criptografia:
- O Java deve estar acessível através das variáveis de ambiente do Windows.
- Isso pode ser definido nas variáveis de ambiente JAVA_SENIOR, JAVA_HOME e PATH. Sendo que nas variáveis JAVA_SENIOR e JAVA_HOME, o diretório deve ser definido sem a pasta bin do Java (ex: C:\Program Files\Java\jdk1.8.0_102). Já na variável PATH, o diretório deve apontar para a pasta bin (ex: C:\Program Files\Java\jdk1.8.0_102\bin).
- Se na máquina que está gerando/validando o token, existir a pasta <SENIOR>\java\jre\, esta versão do Java será utilizada.
- O aplicativo crypt.jar deve estar no diretório da aplicação;
- Os servidores devem ter o horário sincronizado devido ao token expirar, conforme configuração.
Nota
Devido a limitação no tempo de expiração do token, essa opção não pode ser configurada para acesso através de web services agendados e assíncronos.
Para evitar problemas posteriores, as execuções internas do sistema Senior com criptografia só funcionam no modo de execução síncrono, os demais modos, irão retornar falha na execução (Credenciais inválidas).
Caso o mesmo for utilizado por sistemas de terceiros, é de responsabilidade do mesmo a administração do tempo de expiração do token.
A senha do usuário (de acesso ao sistema) não pode ser branca/vazia quando utilizada a rotina de perfil, possuir o assinalamento Mesclar condições abrangências de usuário/grupos com valor “N – Não” (FR000AUS) e a opção Habilitar o logon integrado com criptografia habilitada (Central de Configurações > Opções de Segurança > Logon Integrado com criptografia).
Habilitar
o logon integrado com criptografia
Marque essa opção para
habilitar a utilização do recurso.
Nota
Ao marcar este campo, e no item Formas de logon por tipo de acesso existir outra forma de logon selecionada, será possível utilizar as duas formas de logon.
É imprescindível o assinalamento desta opção para o correto funcionamento do Gestão do Ponto.
Chave
É a chave utilizada para descriptografar o token recebido. Este campo é livre para preenchimento. Esta informação deve ser protegida com os mesmos critérios de segurança da senha do banco de dados.
Algoritmo
Descrição do algoritmo utilizado.
O
token é valido por [...] segundos
Tempo máximo entre a geração do token até a autenticação no sistema Senior. Se ocorrer inconsistências de token inválido ou expirado, ajuste os relógios de todas as máquinas envolvidas para ficarem iguais, inclusive nos segundos.
Depois das alterações, basta aplicar as configurações e reiniciar todos os serviços que estiverem em execução (Middleware e GlassFish).
Ajustes nas Central de Configurações
As formas de logon por tipo de acesso, podem ser verificadas na Central de Configurações Senior e não devem ser alteradas.
Logon Integrado com Criptografia
Deve-se habilitar a opção de logon integrado com criptografia.
- No campo Chave deve ser inserido um texto qualquer. Esta informação deve ser protegida com os mesmos critérios de segurança da senha do banco de dados.
- No campo de validade do token, informar o maior valor possível.Se ocorrer inconsistências de token inválido ou expirado, deve-se ajustar os relógios de todas as máquinas envolvidas para ficarem iguais, inclusive nos segundos.
Depois das alterações, basta aplicar as configurações e reiniciar todos os serviços que estiverem em execução (Middleware e WildFly).
Esta alteração impacta em todas as integrações feitas entre as aplicações, portanto todos os links que executam ações de outros sistemas devem ser testados.
- Execução de relatórios via BrowserAccess;
- Execução de relatórios via Web 5.0;
- Abertura de telas em geral;
- Informações retornadas via web services e exibidas nos portlets em geral.
Verifique atentamente se as informações exibidas estão respeitando as abrangências do usuário utilizado para fazer logon. É recomendável testar com mais de um usuário, para ter certeza que a abrangência está correta. As integrações indiretas também devem ser testadas.
- O usuário clica em um link do Portal;
- O Portal executa um web service do Rubi, implementado em LSP via Editor de Web Services;
- A regra do web service que roda no Rubi chama um web service, modo síncrono, do Ronda;
- O Ronda processa as informações e devolve para o Rubi;
- O Rubi repassa as informações para o Portal.
Para efetuar esse tipo de logon, o sistema de terceiros deve gerar um token com o mesmo algoritmo de criptografia definido na configuração acima.
O conteúdo do token deve ter o seguinte formato: DD/MM/YYYY HH:MM:SS|<Nome do usuário>. Com o token gerado, o sistema deve efetuar a chamada do sistemas Senior passando o token ao invés da senha do usuário.
Para gerar o token, utilize o aplicativo "crypt.jar" via linha de comando. Os seguintes parâmetros devem ser informados:
- Método;
- Modo: Atualmente somente o modo CBC é aceito;
- Dados (no formato DD/MM/YYYY HH:MM:SS|<Nome do usuário>);
- Chave.
"java -jar crypt.jar encrypt CBC "10/10/2010 10:10:10|Administrador" 1234567891234567"
Nota
É necessário que seja configurado o Java em uma versão homologada (32 bits), como padrão nas máquinas que geram o token.
Cada forma de acesso aos sistemas Senior precisa receber as informações do token de uma maneira diferente. Verifique abaixo a passagem de parâmetro de cada uma das formas de acesso:
Web services
Para utilizar autenticação com token na chamada de um web service, informe o valor 2 no parâmetro "encryption". O token gerado deve ser informado no parâmetro "password" no lugar da senha.
Nas configurações do sistema, a autenticação via Logon integrado com criptografia deve estar habilitada, conforme passos acima.
WindowsAccess
É formado por <diretório do WA.exe> CONNINFO:<configuração> APP:<nome do aplicativo> USR:<nome do usuário> TOKEN:<chave gerada pelo token>. Por exemplo: "C:\Senior\Vetorh\AplicativosExternos\WA.exe CONNINFO:DEFAULT APP:RUBI USR:senior TOKEN:<TOKEN>".
BrowserAccess
É formado por <endereço do contexto do BrowserAccess>/do?action=connect&appName=<nome do aplicativo>&user=<nome do usuário>&token=<chave gerada pelo token> Por exemplo: "http://localhost:8080/ba/do?action=connect&appName=rubi&user=senior&token=<TOKEN>".
Web 5.0
É formado por <caminho do site para acesso à web 5.0>/conector?ACAO=EXESENHA&LOGIN=<>&SIS=<sigla do sistema>nomusu=<nome do usuário>&token=<chave gerada pelo token>&redirectURL<página apresentada após a autenticação do usuário>.
http://servidor/rubi/conector?ACAO=EXESENHA&LOGIN=PORTAL&SIS=FP&nomusu=senior&token=<TO KEN>&redirectURL=<LINK>
O parâmetro LOGIN=PORTAL serve para redirecionar para a página especificada no parâmetro redirectURL após validar o login.
Normalmente, este parâmetro é utilizado na integração com o Portal, para abrir em uma página específica, com um relatório ou algum outro formulário do sistema.
Se os parâmetros LOGIN=PORTAL e RedirectURL não forem informados, será carregada a página principal do sistema.