diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2022-10-05 14:45:21 +0200 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2022-10-05 14:45:21 +0200 |
| commit | b7e39b59fd0fc7b5610ebff29035bf622079e0d8 (patch) | |
| tree | 64be84ebbdac9f7ceced983390c53b10d575af5c /server/src/Utilities/BasicAuthenticationAttribute.cs | |
| parent | 2001c035fbb417ab0a3d42cfb04d17420bde4086 (diff) | |
| download | greatoffice-b7e39b59fd0fc7b5610ebff29035bf622079e0d8.tar.xz greatoffice-b7e39b59fd0fc7b5610ebff29035bf622079e0d8.zip | |
refactor: Change file structure
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 - } - } -} |
