TGViewer
Библиотека шарписта | C#, F#, .NET, ASP.NET Библиотека шарписта | C#, F#, .NET, ASP.NET @csharpproglib · 21.6K subscribers
Post #5749 5.5K
⚙️ Как использовать 2FA в .NET приложении

Сейчас покажем, как настроить двухфакторную аутентификацию (2FA) в вашем .NET приложении с использованием библиотеки .NET Identity.

1️⃣ Установка и настройка .NET Identity

• Добавьте необходимые пакеты NuGet:
Install-Package Microsoft.AspNetCore.Identity.EntityFrameworkCore
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools


• Настройте контекст данных и Identity:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();

services.AddControllersWithViews();
}


2️⃣ Включение 2FA для пользователя

Теперь, когда Identity настроен, мы можем включить двухфакторную аутентификацию:
var user = await _userManager.GetUserAsync(User);
var tokenProvider = _userManager.GetTwoFactorAuthenticationTokenProvider(user);
var token = await _userManager.GenerateTwoFactorTokenAsync(user, tokenProvider);

// Отправить токен пользователю через email или SMS


3️⃣ Проверка введённого токена

После того как пользователь получит код на своем устройстве (например, через Google Authenticator), он должен ввести его на сайте. Проверка кода выглядит следующим образом:
var result = await _signInManager.TwoFactorSignInAsync("Authenticator", tokenInput, rememberMe, false);
if (result.Succeeded)
{
// Успешный вход
}
else
{
// Ошибка
}


💬 Пишите, где сталкивались с 2FA👇 Админ, к примеру, каждый раз тянется к телефону, когда логинится в GitHub

🐸Библиотека шарписта #буст
  • 👍 8
  • 🔥 7
  • 🥰 2
  • ❤‍🔥 1
  • 🤩 1
More from @csharpproglib
  1. Oct 7, 2026Альфа-Банк ищет скиллового коллегу QA Fullstack на C# Полная удалёнка или гибрид в Москве,…
  2. Sep 30, 2026📝 Логирование со строковой интерполяцией Логирование c интерполяцией строк один из самых…
  3. Sep 28, 2026👨‍💻 Не показывайте технические ошибки пользователям Когда приложение падает с необработа…
  4. Sep 26, 2026📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #garbage_collector
  5. Sep 25, 2026🔐 NuGet: Microsoft меняет сертификат подписи С 23 сентября Microsoft использует новый сер…
  6. Sep 24, 2026🤩 Как поймать зависший .NET-сервис Приложение начинает тормозить, запросы зависают, а в л…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →