using System.Security.Claims;
using Microsoft.AspNetCore.Authorization;
namespace EnvelopeGenerator.API.Controllers.Interfaces;
///
///
///
public interface IAuthController
{
///
///
///
IAuthorizationService AuthService { get; }
///
///
///
ClaimsPrincipal User { get; }
}
///
///
///
public static class AuthControllerExtensions
{
///
///
///
///
///
///
public static async Task IsUserInPolicyAsync(this IAuthController controller, string policyName)
{
var result = await controller.AuthService.AuthorizeAsync(controller.User, policyName);
return result.Succeeded;
}
}