Procurar Resultados :

×

Registrar Contato

Configure a autenticação de dois fatores (2FA) do Umbraco usando OTP via SMS.

A autenticação de dois fatores (2FA) do Umbraco adiciona uma camada extra de segurança ao login do seu aplicativo Umbraco , habilitando a verificação por OTP via SMS . Após os usuários inserirem o nome de usuário e a senha corretos, eles recebem um código de acesso único (OTP) com prazo de validade no número de celular cadastrado. O OTP via SMS é um método confiável de segundo fator que ajuda a proteger as contas de usuário contra phishing, ataques de força bruta e acesso não autorizado. O plugin também é compatível com métodos como Google Authenticator, Microsoft Authenticator, Duo Authenticator e OTP via e-mail.

Selecione a sua versão do Umbraco para configurar a autenticação de dois fatores (2FA):
  • Baixe o plugin de autenticação de dois fatores (2FA) do Umbraco.
  • Para configurar o plugin de autenticação de dois fatores (2FA) do Umbraco, adicione os namespaces, serviços e middlewares abaixo em seu projeto. programa.cs arquivo. Abaixo segue um exemplo.
    Inclua apenas a seção destacada abaixo no programa.cs arquivo de seu aplicativo.

  using miniorange.aspnet.tfa;
  using System.Reflection;

  WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
  builder.Services.AddDistributedMemoryCache();

  builder.Services.AddSession(options =>
  {
    options.IdleTimeout = TimeSpan.FromMinutes(60);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
  });

  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  builder.CreateUmbracoBuilder()
    .AddBackOffice()
    .AddWebsite()
    .AddDeliveryApi()
    .AddComposers()
    .Build();

  WebApplication app = builder.Build();

  await app.BootUmbracoAsync();
  app.UseSession();
  app.UseMiddleware<RedirectAfterLoginMiddleware>();
  app.UseStateCheck();

  app.UseUmbraco()
    .WithMiddleware(u =>
    {
      u.UseBackOffice();
      u.UseWebsite();
    })
    .WithEndpoints(u =>
    {
      u.UseInstallerEndpoints();
      u.UseBackOfficeEndpoints();
      u.UseWebsiteEndpoints();
    });

  await app.RunAsync();


  using miniorange.aspnet.tfa;
  using System.Reflection;

  WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
  builder.Services.AddDistributedMemoryCache();

  builder.Services.AddSession(options =>
  {
    options.IdleTimeout = TimeSpan.FromMinutes(60);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
  });

  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  builder.CreateUmbracoBuilder()
    .AddBackOffice()
    .AddWebsite()
    .AddDeliveryApi()
    .AddComposers()
    .Build();

  WebApplication app = builder.Build();

  await app.BootUmbracoAsync();
  app.UseSession();
  app.UseMiddleware<RedirectAfterLoginMiddleware>();
  app.UseStateCheck();

  app.UseUmbraco()
    .WithMiddleware(u =>
    {
      u.UseBackOffice();
      u.UseWebsite();
    })
    .WithEndpoints(u =>
    {
      u.UseInstallerEndpoints();
      u.UseBackOfficeEndpoints();
      u.UseWebsiteEndpoints();
    });

  await app.RunAsync();


  using miniorange.aspnet.tfa;
  using System.Reflection;

  WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
  builder.Services.AddDistributedMemoryCache();

  builder.Services.AddSession(options =>
  {
    options.IdleTimeout = TimeSpan.FromMinutes(60);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
  });

  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  builder.CreateUmbracoBuilder()
    .AddBackOffice()
    .AddWebsite()
    .AddDeliveryApi()
    .AddComposers()
    .Build();

  WebApplication app = builder.Build();

  await app.BootUmbracoAsync();
  app.UseSession();
  app.UseMiddleware<RedirectAfterLoginMiddleware>();
  app.UseStateCheck();

  app.UseUmbraco()
    .WithMiddleware(u =>
    {
      u.UseBackOffice();
      u.UseWebsite();
    })
    .WithEndpoints(u =>
    {
      u.UseInstallerEndpoints();
      u.UseBackOfficeEndpoints();
      u.UseWebsiteEndpoints();
    });

  await app.RunAsync();


  using miniorange.aspnet.tfa;
  using System.Reflection;

  WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
  builder.Services.AddDistributedMemoryCache();

  builder.Services.AddSession(options =>
  {
    options.IdleTimeout = TimeSpan.FromMinutes(60);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
  });

  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  builder.CreateUmbracoBuilder()
    .AddBackOffice()
    .AddWebsite()
    .AddDeliveryApi()
    .AddComposers()
    .Build();

  WebApplication app = builder.Build();

  await app.BootUmbracoAsync();
  app.UseSession();
  app.UseMiddleware<RedirectAfterLoginMiddleware>();
  app.UseStateCheck();

  app.UseUmbraco()
    .WithMiddleware(u =>
    {
      u.UseBackOffice();
      u.UseWebsite();
    })
    .WithEndpoints(u =>
    {
      u.UseInstallerEndpoints();
      u.UseBackOfficeEndpoints();
      u.UseWebsiteEndpoints();
    });

  await app.RunAsync();


  using miniorange.aspnet.tfa;
  using System.Reflection;

  WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
  builder.Services.AddDistributedMemoryCache();

  builder.Services.AddSession(options =>
  {
    options.IdleTimeout = TimeSpan.FromMinutes(60);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
  });

  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  builder.CreateUmbracoBuilder()
    .AddBackOffice()
    .AddWebsite()
    .AddDeliveryApi()
    .AddComposers()
    .Build();

  WebApplication app = builder.Build();

  await app.BootUmbracoAsync();
  app.UseSession();
  app.UseMiddleware<RedirectAfterLoginMiddleware>();
  app.UseStateCheck();

  app.UseUmbraco()
    .WithMiddleware(u =>
    {
      u.UseBackOffice();
      u.UseWebsite();
    })
    .WithEndpoints(u =>
    {
      u.UseInstallerEndpoints();
      u.UseBackOfficeEndpoints();
      u.UseWebsiteEndpoints();
    });

  await app.RunAsync();


  using miniorange.aspnet.tfa;
  using System.Reflection;

  WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
  builder.Services.AddDistributedMemoryCache();

  builder.Services.AddSession(options =>
  {
    options.IdleTimeout = TimeSpan.FromMinutes(60);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
  });

  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  builder.CreateUmbracoBuilder()
    .AddBackOffice()
    .AddWebsite()
    .AddDeliveryApi()
    .AddComposers()
    .Build();

  WebApplication app = builder.Build();

  await app.BootUmbracoAsync();
  app.UseSession();
  app.UseMiddleware<RedirectAfterLoginMiddleware>();
  app.UseStateCheck();

  app.UseUmbraco()
    .WithMiddleware(u =>
    {
      u.UseBackOffice();
      u.UseWebsite();
    })
    .WithEndpoints(u =>
    {
      u.UseInstallerEndpoints();
      u.UseBackOfficeEndpoints();
      u.UseWebsiteEndpoints();
    });

  await app.RunAsync();


  using miniorange.aspnet.tfa;
  using System.Reflection;

  WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
  builder.Services.AddDistributedMemoryCache();

  builder.Services.AddSession(options =>
  {
    options.IdleTimeout = TimeSpan.FromMinutes(60);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
  });

  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  builder.CreateUmbracoBuilder()
    .AddBackOffice()
    .AddWebsite()
    .AddDeliveryApi()
    .AddComposers()
    .Build();

  WebApplication app = builder.Build();

  await app.BootUmbracoAsync();
  app.UseSession();
  app.UseMiddleware<RedirectAfterLoginMiddleware>();
  app.UseStateCheck();

  app.UseUmbraco()
    .WithMiddleware(u =>
    {
      u.UseBackOffice();
      u.UseWebsite();
    })
    .WithEndpoints(u =>
    {
      u.UseInstallerEndpoints();
      u.UseBackOfficeEndpoints();
      u.UseWebsiteEndpoints();
    });

  await app.RunAsync();


  using miniorange.aspnet.tfa;
  using System.Reflection;

  WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
  builder.Services.AddDistributedMemoryCache();

  builder.Services.AddSession(options =>
  {
    options.IdleTimeout = TimeSpan.FromMinutes(60);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
  });

  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  builder.CreateUmbracoBuilder()
    .AddBackOffice()
    .AddWebsite()
    .AddDeliveryApi()
    .AddComposers()
    .Build();

  WebApplication app = builder.Build();

  await app.BootUmbracoAsync();
  app.UseSession();
  app.UseMiddleware<RedirectAfterLoginMiddleware>();
  app.UseStateCheck();

  app.UseUmbraco()
    .WithMiddleware(u =>
    {
      u.UseBackOffice();
      u.UseWebsite();
    })
    .WithEndpoints(u =>
    {
      u.UseInstallerEndpoints();
      u.UseBackOfficeEndpoints();
      u.UseWebsiteEndpoints();
    });

  await app.RunAsync();


  using miniorange.aspnet.tfa;
  using System.Reflection;

  WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
  builder.Services.AddDistributedMemoryCache();

  builder.Services.AddSession(options =>
  {
    options.IdleTimeout = TimeSpan.FromMinutes(60);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
  });

  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  builder.CreateUmbracoBuilder()
    .AddBackOffice()
    .AddWebsite()
    .AddDeliveryApi()
    .AddComposers()
    .Build();

  WebApplication app = builder.Build();

  await app.BootUmbracoAsync();
  app.UseSession();
  app.UseMiddleware<RedirectAfterLoginMiddleware>();
  app.UseStateCheck();

  app.UseUmbraco()
    .WithMiddleware(u =>
    {
      u.UseBackOffice();
      u.UseWebsite();
    })
    .WithEndpoints(u =>
    {
      u.UseInstallerEndpoints();
      u.UseBackOfficeEndpoints();
      u.UseWebsiteEndpoints();
    });

  await app.RunAsync();


  using System.Reflection;
  using miniorange.aspnet.tfa;

  WebApplicationBuilder builder = WebApplication.CreateBuilder(args);

  builder.Services.AddDistributedMemoryCache();

  builder.Services.AddSession(options =>
  {
    options.IdleTimeout = TimeSpan.FromMinutes(60);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
  });

  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  builder.CreateUmbracoBuilder()
    .AddBackOffice()
    .AddWebsite()
    .AddComposers()
    .Build();

  WebApplication app = builder.Build();

  await app.BootUmbracoAsync();

  app.UseSession();

  app.UseMiddleware<RedirectAfterLoginMiddleware>();
  app.UseStateCheck();

  app.UseHttpsRedirection();

  app.MapWhen(
    context => context.Request.Path.StartsWithSegments("/TFA") ||
               context.Request.Path.StartsWithSegments("/Validate"),
    tfa =>
    {
      tfa.UseRouting();
      tfa.UseEndpoints(endpoints =>
      {
        endpoints.MapControllers();
      });
    });

  app.UseUmbraco()
    .WithMiddleware(u =>
    {
      u.UseBackOffice();
      u.UseWebsite();
    })
    .WithEndpoints(u =>
    {
      u.EndpointRouteBuilder.MapControllers();

      u.UseBackOfficeEndpoints();
      u.UseWebsiteEndpoints();
    });

  await app.RunAsync();


  using miniorange.aspnet.tfa;
  using System.Reflection;

  WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
  builder.Services.AddDistributedMemoryCache();

  builder.Services.AddSession(options =>
  {
    options.IdleTimeout = TimeSpan.FromMinutes(60);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
  });

  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  builder.CreateUmbracoBuilder()
    .AddBackOffice()
    .AddWebsite()
    .AddDeliveryApi()
    .AddComposers()
    .Build();

  WebApplication app = builder.Build();

  await app.BootUmbracoAsync();
  app.UseSession();
  app.UseMiddleware<RedirectAfterLoginMiddleware>();
  app.UseStateCheck();

  app.UseUmbraco()
    .WithMiddleware(u =>
    {
      u.UseBackOffice();
      u.UseWebsite();
    })
    .WithEndpoints(u =>
    {
      u.UseInstallerEndpoints();
      u.UseBackOfficeEndpoints();
      u.UseWebsiteEndpoints();
    });

  await app.RunAsync();


  using System.Reflection;
  using miniorange.aspnet.tfa;

  WebApplicationBuilder builder = WebApplication.CreateBuilder(args);

  builder.Services.AddDistributedMemoryCache();

  builder.Services.AddSession(options =>
  {
    options.IdleTimeout = TimeSpan.FromMinutes(60);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
  });

  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  builder.CreateUmbracoBuilder()
    .AddBackOffice()
    .AddWebsite()
    .AddComposers()
    .Build();

  WebApplication app = builder.Build();

  await app.BootUmbracoAsync();

  app.UseSession();

  app.UseMiddleware<RedirectAfterLoginMiddleware>();
  app.UseStateCheck();

  app.UseHttpsRedirection();

  app.MapWhen(
    context => context.Request.Path.StartsWithSegments("/TFA") ||
               context.Request.Path.StartsWithSegments("/Validate"),
    tfa =>
    {
      tfa.UseRouting();
      tfa.UseEndpoints(endpoints =>
      {
        endpoints.MapControllers();
      });
    });

  app.UseUmbraco()
    .WithMiddleware(u =>
    {
      u.UseBackOffice();
      u.UseWebsite();
    })
    .WithEndpoints(u =>
    {
      u.EndpointRouteBuilder.MapControllers();

      u.UseBackOfficeEndpoints();
      u.UseWebsiteEndpoints();
    });

  await app.RunAsync();


  • Execute o aplicativo quando a configuração estiver concluída.

Guia passo a passo para implementar a autenticação de dois fatores (2FA) no Umbraco usando OTP via SMS.

  • Após a integração, abra seu navegador e navegue até o painel do conector com o URL abaixo:
 https://<umbraco-base-url>/tfa/configure
  • Se a página de registro ou de login for exibida, significa que você adicionou com sucesso o middleware miniOrange Umbraco 2FA ao seu aplicativo.
Umbraco 2FA - Registre-se com miniOrange

  • Cadastre-se com sua conta clicando em Registrar-se botão para configurar o plugin Umbraco 2FA.
  • Após o registro bem-sucedido, você receberá uma chave de licença de teste no seu endereço de e-mail registrado.
  • Para ativar o plugin, você pode:

    • Introduzir o chave de licença recebido por e-mail no campo de entrada fornecido.

    OR

    • Faça o upload do arquivo de licença que você baixou usando o Baixar chave de licença botão usando o Escolher Ficheiro opção.
Umbraco 2FA - Ativar licença

  • Em seguida, marque a caixa. "Li as condições acima e desejo ativar o plugin.", e clique no botão Ativar licença botão.
Umbraco 2FA - Botão Ativar Licença

  • Após a ativação bem-sucedida da licença, o painel de controle do plugin será aberto conforme mostrado abaixo.
Umbraco 2FA - Painel de plug-ins
  • No painel de controle do plugin, clique em configurar botão sob o SMS Cartão para configurar OTP via SMS.
Umbraco 2FA - Configurar OTP por SMS

  • Depois de clicar em configurar, o painel de controle do OTP via SMS será aberto. Clique em configurar, Selecione o Atributo de telefone do usuário Na lista suspensa, insira o número de telefone e clique em Obter OTP botão.
Umbraco 2FA - OTP por SMS Obter OTP

  • Depois de clicar no Obter OTP Ao clicar no botão, o usuário receberá um código de acesso único (OTP) no número de celular informado. Insira o OTP recebido.
Umbraco 2FA - Insira o código OTP recebido no celular

  • Clique no Verificar OTP botão. Após a verificação do OTP, o método será configurado e poderá ser ativado para o usuário final.
Umbraco 2FA - Verificar OTP

  • Para habilitar o método para o usuário final, clique no botão de alternância OTP sobre SMS.
Umbraco 2FA - OTP via SMS configurado e ativo

  • permitir que o Autenticação de dois fatores para usuários finais botão de alternância.
Umbraco 2FA - Habilitar autenticação de dois fatores para usuários finais

  • Para habilitar a autenticação de dois fatores (2FA) para administradores, ative a opção. Somente administrador alternancia.
Autenticação de dois fatores do Umbraco - opção "Somente administrador"
  • Faça login no seu aplicativo Umbraco.
Umbraco 2FA - página de login do Umbraco

  • Após o login, os usuários finais visualizam o Configurar 2FA tela. Clique instalação ao lado OTP sobre SMS.
Umbraco 2FA - Configurar métodos de autenticação de dois fatores

  • Insira seu número de telefone na janela pop-up e clique. Enviar OTP.
Umbraco 2FA - Registro de Autenticador SMS

  • Insira o código OTP enviado para o seu número de telefone e clique. Verificar OTP.
Umbraco 2FA - Verificar OTP do usuário final

Observação: Estas etapas de configuração são realizadas uma única vez para configurar o método de autenticação de dois fatores (TFA) para o usuário. Na próxima vez que o usuário fizer login, ele verá apenas a tela de Validação de OTP (a última etapa abaixo) para concluir a autenticação.


  • No próximo login, insira o OTP e clique em OTP Validar.
Autenticação de dois fatores (2FA) do Umbraco - Validar o código OTP no login

  • O usuário estará conectado ao seu aplicativo Umbraco.

 Obrigado pela sua resposta. Entraremos em contato em breve.

Algo deu errado. Envie sua consulta novamente.

Entraremos em contato com você o mais breve possível!


ADFS_sso ×
Olá!

Preciso de ajuda? Estamos bem aqui!

ajuda