summaryrefslogtreecommitdiff
path: root/Controllers/UserAccountSessionsController.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Controllers/UserAccountSessionsController.cs')
-rw-r--r--Controllers/UserAccountSessionsController.cs15
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);