diff --git a/EnvelopeGenerator.API/Controllers/AuthController.cs b/EnvelopeGenerator.API/Controllers/AuthController.cs index 2d39a880..2ea2daec 100644 --- a/EnvelopeGenerator.API/Controllers/AuthController.cs +++ b/EnvelopeGenerator.API/Controllers/AuthController.cs @@ -1,3 +1,4 @@ +using EnvelopeGenerator.API.Controllers.Interfaces; using EnvelopeGenerator.API.Models; using EnvelopeGenerator.Domain.Constants; using Microsoft.AspNetCore.Authentication; @@ -13,20 +14,14 @@ namespace EnvelopeGenerator.API.Controllers; /// [Route("api/[controller]")] [ApiController] -public partial class AuthController(IOptions authTokenKeyOptions, IAuthorizationService authService) : ControllerBase +public partial class AuthController(IOptions authTokenKeyOptions, IAuthorizationService authService) : ControllerBase, IAuthController { private readonly AuthTokenKeys authTokenKeys = authTokenKeyOptions.Value; /// - /// Überprüft, ob der Benutzer über die angegebene Berechtigung verfügt. + /// /// - /// - /// - protected async Task IsUserInPolicyAsync(string policyName) - { - var result = await authService.AuthorizeAsync(User, policyName); - return result.Succeeded; - } + public IAuthorizationService AuthService { get; } = authService; /// /// Entfernt das Authentifizierungs-Cookie des Benutzers (AuthCookie) @@ -48,9 +43,9 @@ public partial class AuthController(IOptions authTokenKeyOptions, [HttpPost("logout")] public async Task Logout() { - if (await IsUserInPolicyAsync(AuthPolicy.Sender)) + if (await this.IsUserInPolicyAsync(AuthPolicy.Sender)) Response.Cookies.Delete(authTokenKeys.Cookie); - else if (await IsUserInPolicyAsync(AuthPolicy.ReceiverOrReceiverTFA)) + else if (await this.IsUserInPolicyAsync(AuthPolicy.ReceiverOrReceiverTFA)) await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme); else return Unauthorized();