19 lines
624 B
C#
19 lines
624 B
C#
|
|
using Microsoft.AspNetCore.Identity;
|
||
|
|
using WorkTracker.Data;
|
||
|
|
|
||
|
|
namespace WorkTracker.Components.Account;
|
||
|
|
|
||
|
|
internal sealed class IdentityUserAccessor(UserManager<ApplicationUser> userManager, IdentityRedirectManager redirectManager)
|
||
|
|
{
|
||
|
|
public async Task<ApplicationUser> GetRequiredUserAsync(HttpContext context)
|
||
|
|
{
|
||
|
|
var user = await userManager.GetUserAsync(context.User);
|
||
|
|
|
||
|
|
if (user is null)
|
||
|
|
{
|
||
|
|
redirectManager.RedirectToWithStatus("Account/InvalidUser", $"Error: Unable to load user with ID '{userManager.GetUserId(context.User)}'.", context);
|
||
|
|
}
|
||
|
|
|
||
|
|
return user;
|
||
|
|
}
|
||
|
|
}
|