Exemplo n.º 1
0
 public ActionResult Logout([FromBody] LogoutRequest request)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(new Response {
             Status = false, Description = "Kindly provide the authorization token"
         }));
     }
     try
     {
         var isActive = jwtUtil.IsActiveAsync(request.token).Result;
         if (!isActive)
         {
             return(Unauthorized(new { Status = false, Description = "Expired token" }));
         }
         var result = jwtUtil.DeactivateAsync(request.token);
         if (result.IsCompletedSuccessfully)
         {
             return(Ok(new Response {
                 Status = true, Description = "Logout successful"
             }));
         }
         else
         {
             return(Unauthorized(new Response {
                 Status = false, Description = "Invalid token"
             }));
         }
     }
     catch (System.Exception ex)
     {
         logger.LogError(ex.Message);
         return(StatusCode(500, new Response()
         {
             Status = false, Description = "System error"
         }));
     }
 }