2024-05-03 03:24:40 +01:00
|
|
|
using Microsoft.AspNetCore.Identity;
|
2024-05-02 07:43:47 +01:00
|
|
|
|
|
|
|
|
namespace Aaru.Server.New.Components.Account;
|
|
|
|
|
|
2024-05-03 22:54:50 +01:00
|
|
|
sealed class IdentityUserAccessor(UserManager<IdentityUser> userManager, IdentityRedirectManager redirectManager)
|
2024-05-02 07:43:47 +01:00
|
|
|
{
|
2024-05-03 22:54:50 +01:00
|
|
|
public async Task<IdentityUser> GetRequiredUserAsync(HttpContext context)
|
2024-05-02 07:43:47 +01:00
|
|
|
{
|
2024-05-03 22:54:50 +01:00
|
|
|
IdentityUser? user = await userManager.GetUserAsync(context.User);
|
2024-05-02 07:43:47 +01:00
|
|
|
|
|
|
|
|
if(user is null)
|
|
|
|
|
{
|
|
|
|
|
redirectManager.RedirectToWithStatus("Account/InvalidUser",
|
|
|
|
|
$"Error: Unable to load user with ID '{userManager.GetUserId(context.User)}'.",
|
|
|
|
|
context);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return user;
|
|
|
|
|
}
|
|
|
|
|
}
|