Autenticação de dois fatores (2FA) para ASP.NET usando OTP por SMS | Login seguro no ASP.NET
Visão geral
Autenticação de dois fatores do ASP.NET (2FA) adiciona uma camada extra de segurança ao seu aplicativo ASP.NET processo de login habilitando Verificação OTP por SMSCom este método, após inserir o nome de usuário e a senha corretos, os usuários recebem uma senha de uso único (OTP) com tempo limitado no número de celular cadastrado por SMS. Para saber como isso pode ser implementado, visite nosso Autenticação de dois fatores do ASP.NET (2FA) página do plugin. O login é concluído somente após a inserção do OTP correto, garantindo que apenas usuários autorizados possam acessar o aplicativo. Essa configuração reforça a segurança do seu Aplicação web ASP.NET e ajuda a proteger contra acesso não autorizado, roubo de credenciais e outras ameaças cibernéticas.
Pré-requisitos: Download e instalação
- Para instalar o pacote NuGet miniOrange 2FA no seu aplicativo .NET, basta instalar o pacote miniOrange NuGet sobre o seu aplicativo.
- Para Instalação manual , adicione o arquivo .dlls necessário na pasta bin e o arquivo estático no diretório miniOrange separado no diretório raiz do seu aplicativo.
- Crie seu aplicativo. Durante o processo de criação, o pacote NuGet adicionará automaticamente os arquivos DLL necessários (dois deles) e o conteúdo estático (visualizações/CSS) em um diretório miniOrange dedicado dentro do seu aplicativo.
Configurar 2FA para seu aplicativo .NET
Para configurar o pacote NuGet miniOrange 2FA no seu aplicativo .NET, siga estas etapas:
- Execute o aplicativo onde você instalou o pacote miniOrange NuGet.
- Depois que o aplicativo estiver instalado e funcionando, acesse o URL abaixo:
/?tfaconfig=admin
- Insira suas credenciais de administrador do miniOrange quando solicitado.
- Após a validação, você poderá ver o painel de configuração do miniOrange.
- Configure e ative os métodos de autenticação multifator (MFA) de sua preferência. Ao fazer login pela primeira vez, os usuários verão as opções disponíveis e poderão escolher e registrar a que desejam usar.
- Depois que o método 2FA for configurado com sucesso, o selo verde será exibido.
Etapas para configurar OTP sobre SMS
- Clique no botão Configurar e insira seu número de telefone quando solicitado. Depois, clique em Obter OTP.
- Forneça o OTP recebido via SMS no seu número de celular registrado.
- Após inserir o OTP, clique em Verificar OTP para confirmar.
- Após a validação bem-sucedida, o método "OTP sobre SMS" será configurado para o usuário final.
- Siga etapas semelhantes para configurar outros métodos 2FA.
- Após a configuração, os usuários podem selecionar e registrar seu método preferido para concluir a autenticação de dois fatores (2FA) antes de acessar o aplicativo.
Integração com login de aplicativo para solicitar 2FA para usuário final
Para integrar o miniOrange 2FA na sua Aplicação .NET, Siga esses passos:
- No seu mecanismo de login, após a autenticação bem-sucedida pelo nome de usuário e senha, adicione o seguinte código para solicitar 2FA.
var loginEventHandler = new LoginEventHandler();
loginEventHandler.OnLoginSuccess(email);
- Os usuários finais verão a tela 2FA para registrar sua escolha do método 2FA.
- Após clicar em "configurar" durante o registro, os usuários serão solicitados a registrar seu dispositivo, e-mail ou número de telefone, com base no método escolhido.
- Após a conclusão do registro, o usuário final verá uma tela para inserir o OTP recebido em seu e-mail/número de telefone registrado ou o TOTP do aplicativo Authenticator.
- OTP sobre SMS: Se o usuário tiver registrado o OTP por SMS como seu método 2FA, ele será solicitado a inserir o OTP enviado ao seu número de celular registrado via SMS.
- Após a validação bem-sucedida, a sessão do usuário e o estado de validação 2FA serão estabelecidos no contexto do aplicativo. Essas informações podem ser recuperadas no seu código-fonte para determinar se o acesso de login foi concedido ou negado ao usuário, com base no resultado da validação.
string username="";
string claimtype="";
string claimvalue="";
if(User.Claims != null)
{
foreach( var claim in User.Claims)
{
claimtype = claim.Type;
claimvalue = claim.Value;
}
//retrive tfa validation result
var identity = (ClaimsIdentity)User.Identity;
IEnumerable claims = identity.Claims;
string result = identity.FindFirst("tfaValidationState")?.Value;
}
- Você pode usar esse resultado e verificar se ele é verdadeiro ou falso e permitir/negar o usuário conforme necessário.
Artigos Relacionados
Vamos Falar?
Entre em contato conosco em aspnetsupport@xecurify.com, e nossa equipe ajudará você a configurar o SSO SAML do ASP.NET Core. Nossa equipe ajudará você a selecionar a solução/plano mais adequado às suas necessidades.
