diff options
Diffstat (limited to 'server/src/Utilities/BasicAuthenticationAttribute.cs')
| -rw-r--r-- | server/src/Utilities/BasicAuthenticationAttribute.cs | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/server/src/Utilities/BasicAuthenticationAttribute.cs b/server/src/Utilities/BasicAuthenticationAttribute.cs deleted file mode 100644 index 0bfd007..0000000 --- a/server/src/Utilities/BasicAuthenticationAttribute.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System.Net.Http.Headers; -using Microsoft.AspNetCore.Mvc.Filters; - -namespace IOL.GreatOffice.Api.Utilities; - -public class BasicAuthenticationAttribute : TypeFilterAttribute -{ - public BasicAuthenticationAttribute(string claimPermission) : base(typeof(BasicAuthenticationFilter)) { - Arguments = new object[] { - new Claim(claimPermission, "True") - }; - } -} - -public class BasicAuthenticationFilter : IAuthorizationFilter -{ - private readonly Claim _claim; - - public BasicAuthenticationFilter(Claim claim) { - _claim = claim; - } - - public void OnAuthorization(AuthorizationFilterContext context) { - if (!context.HttpContext.Request.Headers.ContainsKey("Authorization")) return; - try { - var authHeader = AuthenticationHeaderValue.Parse(context.HttpContext.Request.Headers["Authorization"]); - if (authHeader.Parameter is null) { - context.Result = new ForbidResult(AppConstants.BASIC_AUTH_SCHEME); - } - - var hasClaim = context.HttpContext.User.Claims.Any(c => c.Type == _claim.Type && c.Value == _claim.Value); - if (!hasClaim) { - context.Result = new ForbidResult(AppConstants.BASIC_AUTH_SCHEME); - } - } catch { - // ignore - } - } -} |
