Como implementar A2F usando Swivel? Quero começar falando do Swivel, Swivel é um provedor de soluções de autenticação que foi destaque anos atrás com o Prêmio SC Magazine Europe Award como a melhor solução de autenticação multifator.

Dentre os seus produtos de fatores de autenticação se encontram: OneTouch PUSH, SMS, Token, PINpad, TURing e PINsafe. Neste post usaremos TURing, embora com alguns parâmetros mudados,(poderíamos também usar o PINsafe enviando um SMS, por exemplo).

Como funciona o TURing?

Primeiro, cada usuário que usar essa opção receberá previamente um PIN, que é um código de 4 dígitos,  o usuário precisa manter esse código na memória – assim como a senha do nosso cartão de crédito -. Essa tarefa é executada pelo administrador do servidor Swivel.

Para implementar a autenticação dupla( A2F), a aplicação web requer do usuário um OTC – One Time Code, que solicitará que o usuário digite. Se você não sabe o que é isso, convido-o a ler minha publicação anterior “Autenticação de 2 fatores com o Scriptcase“.

Para determinar qual OTC o usuário deve inserir, no momento da autenticação e logo depois de fazer a conexão com o servidor Swivel, um código de 10 dígitos é enviado para o navegador do usuário na forma de uma imagem retangular, então o usuário leva os números representados por seu PIN na imagem exibida – o PIN que foi atribuído anteriormente pelo administrador do Swivel -, ou seja, se o PIN for 5273, você simplesmente escreve o número na imagem na 5ª posição, depois o número na 2ª posição, depois o número na 7ª posição e finalmente o número na 3ª posição, tudo isso com base na imagem que o servidor enviou.

TURing example. Based on the example described above, the OTC would be 3507

Deve-se notar que, obviamente, as imagens geradas pelo servidor são dinâmicas, ou seja, diferentes a cada vez que uma OTC é solicitada.

Outro ponto a levar em consideração, e mencionado na publicação anterior, é que cada fornecedor indica como deve ser integrado e, em muitos casos, disponibiliza recursos para o programador em diferentes linguagens de programação. Bom no caso do Swivel, tive exemplos em PHP, que baixei e comecei a entender como funcionava e depois a fazer as adaptações no Scriptcase. Eu recomendo que você sempre tente as demos ou exemplos de fornecedores separadamente, certificando-se de que eles funcionam bem antes de ir ao Scriptcase  implementá-lo, isso pode evitar grandes dores de cabeça!

Em resumo, o que fiz primeiro foi entender o funcionamento do exemplo e adaptá-lo às minhas necessidades, criando uma biblioteca php, que usaria no Scriptcase por meio de duas aplicações do tipo blank, decidi que seriam duas aplicações diferentes por causa da maneira  que o TURing funciona.

Uma aplicação chamada Token, que é chamada após a validação do Login e Senha Normal (primeiro fator) e que gerencia a configuração da conexão ao servidor, assim como sua interface gráfica de solicitação do segundo fator e por fim, a validação do código inserido pelo usuário.

A segunda aplicação pode ser considerado como um procedimento explicitamente responsável por exibir a imagem gerada pelo servidor por meio de um URL no modelo da aplicação 1.

Talvez a explicação anterior possa ter parecido um pouco confusa, por esse motivo fiz um vídeo onde explico com mais detalhes, a maneira que se faz essa implementação.

(legenda em PT-BR disponível)

É evidente que existem maneiras diferentes de implementá-lo, mas o objetivo deste post é mostrar qual é uma dessas maneiras para servir de exemplo para seus projetos.

Na minha publicação seguinte vou falar de como Implementar A2F usando um Desenvolvimento Próprio em NodeJS.

Confira mais artigos no nosso blog!

Por ,

8 de fevereiro de 2019

Compartilhar esta postagem

a

Você pode gostar também…

No-code: Facilidade ou Armadilha? O que ninguém te conta sobre criar sem codificar

Com a popularização das plataformas No-code e Low-code, o desenvolvimento de aplicações alcanç...

Automatização de Processos de Negócios com Scriptcase

No mundo empresarial moderno, a eficiência operacional não é apenas um objetivo, é uma necessid...

Desenvolvimento de Software Impulsionado pela IA: O Papel do ChatGPT

No mundo em rápida evolução da tecnologia, a inteligência artificial (IA) está desempenhando u...

Você pode gostar também…

Receba novas postagens, recursos, ofertas e muito mais a semanalmente.

Nós utilizaremos seu email para te adicionar a nossa Newsletter semanal. Você pode sair desta lista a qualquer momento clicando no link no final dos emails recebidos, ou entrar em contato conosco em vendas@scriptcase.com.br. Conheça nossa Política de Privacidade.