TGViewer
C# (C Sharp) programming C# (C Sharp) programming @csharp_ci · 18.1K subscribers
Post #1502 5.61K
🔐 Refresh Tokens в .NET: зачем они нужны?

Access tokens имеют ограниченный срок жизни и не подходят для долгосрочной авторизации. Именно поэтому вместе с ними используются refresh tokens.

💡 Как это работает:
1. Пользователь логинится с email и паролем.
2. Система проверяет учетные данные.
3. Генерируется пара токенов:
- Access Token — действует недолго, используется для запросов к API.
- Refresh Token — живет дольше и позволяет получить новый access token без повторного ввода логина и пароля.

📌 Код-пример на C#:

[HttpPost("login")]
public async Task<IActionResult> Login([FromBody] LoginUserDto loginUserDto)
{
IdentityUser? identityUser = await userManager.FindByEmailAsync(loginUserDto.Email);

if (identityUser == null ||
!await userManager.CheckPasswordAsync(identityUser, loginUserDto.Password))
{
return Unauthorized();
}

User? appUser = await context.Users
.FirstOrDefaultAsync(u => u.Id == Guid.Parse(identityUser.Id));

if (appUser == null)
{
return NotFound();
}

string accessToken = tokenProvider.GenerateAccessToken(appUser);
string refreshToken = tokenProvider.GenerateRefreshToken();

return Ok(new AuthResponseDto(accessToken, refreshToken));
}
More from @csharp_ci
  1. Oct 5, 2026Одна задача, три языка: Rust, C# или C++? В курсе Google *Comprehensive Rust* есть упражне…
  2. Oct 5, 2026🦈 Открытое собеседование на Middle C# | 6 октября, 19:00 МСК Приглашаем на открытое собес…
  3. Oct 4, 2026🖥 .NET 10 научился класть объекты на стек: escape analysis в JIT Одна из самых полезных о…
  4. Oct 3, 2026Самый неожиданный кандидат на звание самого быстрого JSON-сериализатора для .NET сейчас де…
  5. Oct 2, 2026Post #1891
  6. Sep 29, 2026🖥 C# снова показывает, что «удобный язык = медленный язык» давно не работает. Автор ttfx…
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 →