diff options
Diffstat (limited to 'Controllers/UserAccountSessionsController.cs')
-rw-r--r-- | Controllers/UserAccountSessionsController.cs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/Controllers/UserAccountSessionsController.cs b/Controllers/UserAccountSessionsController.cs index 217c05c..ebeca96 100644 --- a/Controllers/UserAccountSessionsController.cs +++ b/Controllers/UserAccountSessionsController.cs @@ -32,11 +32,24 @@ namespace BackendPIA.Controllers { return StatusCode(401, new InvalidLoginError(401, "Check your credentials")); } + [Authorize(Policy = "ValidToken")] + [HttpDelete("logout")] + public async Task<ActionResult> Delete() { + string email = HttpContext.User.Claims.Where(c => c.Type.Contains("email")).First().Value; + DestroyUserAccountSessionLogic logic = new DestroyUserAccountSessionLogic(_manager, email); + bool result = await logic.Call(); + + if(result) + return Ok(); + + return NotFound(new NotFoundError(404, "Couldn't find the user.")); + } + // [Authorize] [HttpPost("refresh")] public async Task<ActionResult<AuthenticationToken>> Refresh(AuthenticationToken form) { RefreshTokenLogic logic = new RefreshTokenLogic(_token_generator, _manager, form); - var result = await logic.Call(); + bool result = await logic.Call(); if(result) return Ok(logic.Token); |