Resultados de la búsqueda :

×

Configurar la autenticación de dos factores (2FA) de Umbraco mediante OTP por correo electrónico.

La autenticación de dos factores (2FA) de Umbraco añade una capa adicional de seguridad al inicio de sesión de tu aplicación Umbraco mediante la verificación con código OTP por correo electrónico . Tras introducir el nombre de usuario y la contraseña correctos, los usuarios reciben un código OTP de un solo uso (OTP) con caducidad limitada a su dirección de correo electrónico registrada. El OTP por correo electrónico es un método de segundo factor fiable que ayuda a proteger las cuentas de usuario contra el phishing, los ataques de fuerza bruta y el acceso no autorizado. El plugin también es compatible con métodos como Google Authenticator, Microsoft Authenticator, Duo Authenticator y OTP por SMS.

Seleccione su versión de Umbraco para configurar la autenticación de dos factores (2FA):
  • Descarga el plugin de autenticación de dos factores (2FA) de Umbraco.
  • Para configurar el plugin Umbraco 2FA, agregue los siguientes espacios de nombres, servicios y middleware en su programa.cs archivo. A continuación se muestra un ejemplo.
    Incluya solo la sección resaltada a continuación en el programa.cs archivo de su solicitud.

  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();


  • Ejecute la aplicación cuando finalice la configuración.

Guía paso a paso para implementar la autenticación de dos factores (2FA) en Umbraco mediante OTP por correo electrónico.

  • Después de la integración, abra su navegador y navegue hasta el panel del conector con la siguiente URL:
 https://<umbraco-base-url>/tfa/configure
  • Si aparece la página de registro o la página de inicio de sesión, significa que ha añadido correctamente el middleware miniOrange Umbraco 2FA a su aplicación.
Umbraco 2FA - Regístrate con miniOrange

  • Regístrate con tu cuenta haciendo clic en el Registrarse Botón para configurar el plugin 2FA de Umbraco.
  • Después de registrarse exitosamente, recibirá una clave de licencia de prueba en su dirección de correo electrónico registrada.
  • Para activar el complemento, puede hacer lo siguiente:

    • Escriba el clave de licencia Recibido por correo electrónico en el campo de entrada provisto.

    OR

    • Cargue el archivo de licencia que descargó usando el Descargar clave de licencia botón usando el Elija El Archivo .
Umbraco 2FA - Activar licencia

  • Luego, marca la casilla "He leído las condiciones anteriores y quiero activar el plugin"., Y haga clic en Activar licencia .
Umbraco 2FA - Botón de activación de licencia

  • Tras la activación correcta de la licencia, se abrirá el panel de control del plugin como se muestra a continuación.
Umbraco 2FA - Panel de complementos
  • En el panel de control del plugin, haga clic en el Configurar botón debajo del Correo electrónico Tarjeta para configurar OTP por correo electrónico.
Umbraco 2FA - Configurar OTP por correo electrónico

  • Después de hacer clic en ConfigurarSe abrirá el panel de control de OTP por correo electrónico. Haga clic en Configurar, ingrese la dirección de correo electrónico y haga clic en el Obtén OTP .
Umbraco 2FA - OTP por correo electrónico Obtenga OTP

  • Después de hacer clic en el Obtén OTP Al pulsar el botón, el usuario recibirá un código de un solo uso en la dirección de correo electrónico proporcionada. Introduzca el código recibido.
Umbraco 2FA - Introduce el código OTP recibido en tu correo electrónico

  • Haga clic en el elemento Verificar OTP botón. Tras verificar la OTP, el método se configurará y podrá habilitarse para el usuario final.
Autenticación de dos factores (2FA) de Umbraco: Verificar OTP

  • Para habilitar el método para el usuario final, haga clic en el botón de alternancia OTP por correo electrónico.
Autenticación de dos factores (2FA) de Umbraco: OTP por correo electrónico configurada y activa.

  • Active la característica de Autenticación de dos factores para usuarios finales botón de activación.
Umbraco 2FA: Habilitar la autenticación de dos factores para usuarios finales.

  • Para habilitar la autenticación de dos factores (2FA) para los administradores, active la opción Solo administrador palanca.
Autenticación de dos factores (2FA) de Umbraco: solo para administradores (activar/desactivar)
  • Inicia sesión en tu aplicación Umbraco.
Umbraco 2FA - Página de inicio de sesión de Umbraco

  • Después de iniciar sesión, los usuarios finales ven el Configurar 2FA pantalla. Hacer clic Configuración junto a OTP por correo electrónico.
Umbraco 2FA - Configuración de métodos de autenticación de dos factores

  • Ingrese la dirección de correo electrónico donde desea recibir el código OTP y haga clic. Enviar OTP.
Autenticación de dos factores (2FA) de Umbraco - Registro de autenticador de correo electrónico

  • Ingrese la OTP recibida por correo electrónico y haga clic aquí. Verificar OTP.
Umbraco 2FA - Verificar el correo electrónico del usuario final OTP

Nota: Estos pasos de configuración se realizan una sola vez para configurar el método TFA para el usuario. La próxima vez que el usuario inicie sesión, solo verá la pantalla de validación de OTP (el último paso a continuación) para completar la autenticación.


  • Ingrese el código OTP para confirmar su identidad y haga clic aquí. OTP Validar.
Umbraco 2FA - Validar OTP al iniciar sesión

  • El usuario habrá iniciado sesión en su aplicación Umbraco.

 Gracias por su respuesta. Nos pondremos en contacto con usted pronto.

Algo salió mal. Por favor envíe su consulta nuevamente

¡Nos pondremos en contacto con usted lo antes posible!


ADFS_sso ×
¡Hola!

¿Necesitas ayuda? ¡Estamos aquí!

múltiples proveedores