По всем вопросам- @notxxx1
Реестр РКН: https://clck.ru/3Fk3kb
#VRHSZ
Post #1503
6.77K

#ПятничныйКвиз
C# @csharp_ci
Showing posts older than #1504 · Back to latest


[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));
}

dotnet watch run. 







IMiddleware InvokeAsync(...)services.AddTransient<YourMiddleware>();app.UseMiddleware<YourMiddleware>();
.ToLower()
bool equal = stringA.ToLower() == stringB.ToLower();
bool equal = string.Equals(stringA, stringB, StringComparison.OrdinalIgnoreCase);
.ToLower() → ~38 ns
.ToUpper() → ~50 ns
string.Equals(..., OrdinalIgnoreCase) → ~0.003 ns 🚀



npm install, затем запустить через Aspire
# из папки с AppHost
dotnet run
# откроется Aspire Dashboard
# через него можно перейти в React‑frontend, вызвав API
