Sky.Net/API/Extensions/UserManagerExtensions.cs

23 lines
856 B
C#
Raw Normal View History

2022-05-19 16:51:00 -07:00
using System.Security.Claims;
using Core.Entities.Identity;
using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
namespace API.Extensions
{
public static class UserManagerExtensions
{
public static async Task<AppUser> FindUserByClaimsPrincipleWithAddressAsync(this UserManager<AppUser> input, ClaimsPrincipal user)
{
var email = user.FindFirstValue(ClaimTypes.Email);
return await input.Users.Include(x => x.Address).SingleOrDefaultAsync(x => x.Email == email);
}
public static async Task<AppUser> FindByEmailFromClaimsPrinciple(this UserManager<AppUser> input, ClaimsPrincipal user)
{
var email = user.FindFirstValue(ClaimTypes.Email);
return await input.Users.SingleOrDefaultAsync(x => x.Email == email);
}
}
}