
Compartilhar:
Sou ator formado, com uma dissertação sobre stand-up comedy, e comecei a me dedicar ao desenvolvimento em PHP por meio dos encontros da comunidade. Você pode me encontrar dando palestras e escrevendo sobre tecnologia, ou ouvindo e comprando discos curiosos da minha coleção de vinil.
Apresentando a Autenticação Silenciosa da Vonage
Tempo de leitura: 6 minutos
A Vonage tem o prazer de apresentar a Autenticação Silenciosa em nossa Verify API! O canal de Autenticação Silenciosa foi adicionado como parte do Verify V2 e está atualmente na fase alfa do produto. Neste artigo, vamos explicar o que é, para que serve e como usá-lo. Então, para começar, vamos responder às seguintes perguntas:
Insira um Video/GIF aqui -
O que é a autenticação silenciosa?
A autenticação silenciosa é uma inovação recente nos fluxos de trabalho de autenticação pessoal que utiliza o Módulo de Identidade do Assinante (SIM) do seu celular como sua identidade, que é comparada aos registros da operadora para garantir que seu número esteja ativo e seja genuíno. Uma vez que a solicitação tenha sido verificada, um fornecedor ou cliente pode acessar o mesmo endpoint sempre que um usuário quiser se autenticar, e essa autenticação permanecerá válida até que a solicitação expire ou seja cancelada pelo cliente. Na prática, isso significa: usar seu celular como sua senha.
Quais são as vantagens de usar a autenticação silenciosa?
Senhas de uso único (OTP) são amplamente utilizadas para autenticação de dois fatores em todo o mundo. O principal uso de fato da nossa Verify API é utilizar uma OTP enviada por SMS ao cliente. Mas sejamos honestos: como cliente, as OTPs são irritantes. Claro, é uma camada adicional de segurança (veremos em breve por que isso não é necessariamente verdade). Ainda assim, para um fornecedor que depende do mínimo de cliques ou etapas de navegação em um fluxo de trabalho (como no comércio eletrônico), você está aumentando a resistência à conclusão de um processo (ou seja, a compra de um item). O comércio eletrônico geralmente exige o caminho de menor resistência; portanto, dessa perspectiva, a Autenticação Silenciosa elimina completamente essa etapa extra para fazer login ou finalizar a compra.
A segurança também é uma preocupação — é um equívoco comum achar que a autenticação de dois fatores (2FA) torna o fluxo do usuário extremamente difícil de ser violado, mas isso não leva em consideração que o phishing por SMS é um vetor de ataque altamente prevalente usado por golpistas. Ao transferir a autenticação diretamente entre a operadora e o dispositivo móvel, a ameaça de phishing é eliminada.
Alguma desvantagem?
No verdadeiro estilo dos desenvolvedores, não estaríamos fazendo nosso trabalho direito se não destacássemos que não existe uma solução “mágica” quando se trata de verificação de usuários — assim como na engenharia, há compromissos a serem feitos. Existem duas desvantagens principais em usá-la:
A autenticação silenciosa compartilha um obstáculo comum com a verificação por SMS: o usuário precisa de um dispositivo móvel — não há como contornar isso. Embora as estatísticas mostrem que a penetração de smartphones nos países ocidentais está a caminho de ultrapassar 90% em breve (88% da população do Reino Unido possui um smartphone, por exemplo), elas não levam em conta um público global em que a qualidade do serviço ou questões econômicas podem ser obstáculos significativos.
O celular dos usuários devem ter os dados móveis ativados. É um pequeno passo, mas, mesmo assim, uma complicação a mais em um processo que você quer que seja o mais simples possível.
Como fazer uma solicitação de verificação de autenticação silenciosa
Integrações síncronas x assíncronas
Vou mostrar a vocês o método síncrono de implementar a Autenticação Silenciosa, mas vale a pena ressaltar que é possível fazer das duas maneiras: esse método síncrono depende do cliente do dispositivo para realizar uma série de chamadas até a conclusão, mas você pode usar um fluxo de trabalho assíncrono sem precisar alterar nada. Cada parte do fluxo de trabalho também está incluída nos callbacks de webhook para a URL de sua escolha na configuração do aplicativo.
Então, vamos começar com a implementação síncrona. Primeiro, precisamos fazer uma chamada para iniciar o processo:
Desde que você não tenha atingido os limites de taxa de acesso e o token de autorização esteja correto, você deverá receber uma resposta HTTP 202 com sua request_id para referência e um check_url:
{
"request_id": "c11236f4-00bf-4b89-84ba-88b25df97315",
"check_url": "https://api.nexmo.com/v2/verify/31eaf23d-b2db-4c42-9d1d-e847e75ab330/silent-auth/redirect"
}O check_url é um link que deve ser seguido para dar continuidade ao processo; portanto, seu código do lado do cliente deve fazer exatamente isso. Ao clicar nele, você receberá um número variável de redirecionamentos 302, dependendo da região e da operadora que o dispositivo de destino estiver utilizando:
HTTP/1.1 302 Found
Location: https://eu.api.silentauth.com/phone_check/v0.2/checks/31eaf23d-b2db-4c42-9d1d-e847e75ab330/redirectSeguir os redirecionamentos resultará em um HTTP 200 ou HTTP 409 dependendo se a solicitação for válida. Se houver algum problema com o uso da rede, você receberá a seguinte resposta:
HTTP/1.1 409 CONFLICT
Content-Type: application/json
{
"title": "Network error",
"detail": "The Silent Auth request could not be completed due to formatting or the carrier is not supported."
}Mas, se tudo correr bem, você receberá uma HTTP 200 com a seguinte carga útil de exemplo:
{
"request_id": "31eaf23d-b2db-4c42-9d1d-e847e75ab330",
"code": "si9sfG"
}A última etapa do fluxo de trabalho consiste em enviar o code para verificação, da mesma forma que você faria com os outros canais de verificação.
POST https://api.nexmo.com/v2/verify/31eaf23d-b2db-4c42-9d1d-e847e75ab330 HTTP/1.1
Content-Type: application/json
{
"code": "si9sfG"
}As respostas são as mesmas que você receberia ao verificar um código enviado por outros fluxos de trabalho, como SMS; portanto, se o código for válido:
{
"request_id": "31eaf23d-b2db-4c42-9d1d-e847e75ab330",
"status": "completed"
}Ou, se houver um erro:
{
"title": "Invalid Code",
"type": "https://www.developer.vonage.com/api-errors/verify#invalid-code",
"detail": "The code you provided does not match the expected value.",
"instance": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
}Sim, há várias etapas para o desenvolvedor implementar nessa solução, mas a beleza está no experiência do usuário final tenha uma experiência perfeita. Número de telefone correto, operadora válida? Pronto, você está conectado!
Fique ligado
A Autenticação Silenciosa marca o início de uma série de produtos nos quais estamos trabalhando este ano. Você pode se cadastrar conosco se quiser começar a usar a Autenticação Silenciosa para ativar a prévia para desenvolvedores e, enquanto isso, temos alguns produtos incríveis que nos deixam animados para 2023. Quer ficar por dentro das novidades? Siga nosso Account de desenvolvedores no Twitter ou confira nossa documentação para desenvolvedores.
Compartilhar:
Sou ator formado, com uma dissertação sobre stand-up comedy, e comecei a me dedicar ao desenvolvimento em PHP por meio dos encontros da comunidade. Você pode me encontrar dando palestras e escrevendo sobre tecnologia, ou ouvindo e comprando discos curiosos da minha coleção de vinil.