Adding
This commit is contained in:
+37
@@ -0,0 +1,37 @@
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Security.Claims;
|
||||
using LCU.API.Collections.RepoApi.Configuration;
|
||||
using LCU.API.Collections.RepoApi.Models;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.FeatureManagement.Mvc;
|
||||
|
||||
namespace LCU.API.Collections.RepoApi.Controllers
|
||||
{
|
||||
public class RepoControllerBase : ControllerBase
|
||||
{
|
||||
protected readonly IHttpContextAccessor HttpContextAccessor;
|
||||
|
||||
protected RepoControllerBase(IHttpContextAccessor httpContextAccessor)
|
||||
{
|
||||
HttpContextAccessor = httpContextAccessor;
|
||||
}
|
||||
|
||||
protected AppUser CreateUserFromAuth()
|
||||
{
|
||||
var userClaimsPrincipal = HttpContextAccessor.HttpContext.User;
|
||||
|
||||
return new AppUser
|
||||
{
|
||||
FirstName = userClaimsPrincipal.Claims.FirstOrDefault(claim => claim.Type == ClaimTypes.GivenName)?.Value,
|
||||
LastName = userClaimsPrincipal.Claims.FirstOrDefault(claim => claim.Type == ClaimTypes.Surname)?.Value,
|
||||
Email = userClaimsPrincipal.Claims.FirstOrDefault(claim => claim.Type == ClaimTypes.Upn)?.Value,
|
||||
Roles = userClaimsPrincipal.Claims.Where((claim) => claim.Type == ClaimTypes.Role).Select((claim) => claim?.Value).ToArray(),
|
||||
};
|
||||
}
|
||||
|
||||
public static string GetInvokerAsyncMethodName([CallerMemberName] string methodName = null) => methodName;
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user