public HttpResponseMessage CheckItLogout([FromBody] string jwt) { var response = new HttpResponseMessage(); if (jwt == null) { response.Content = new StringContent("JWT is null."); response.StatusCode = HttpStatusCode.Conflict; return(response); } using (var db = new DataBaseContext()) { try { LogoutManager logoutManager = new LogoutManager(db); logoutManager.CheckItLogout(jwt); response.StatusCode = HttpStatusCode.OK; return(response); }catch (Exception e) { response.Content = new StringContent(e.Message); response.StatusCode = HttpStatusCode.Conflict; return(response); } } }
public HttpResponseMessage SSOLogout([FromBody] SSORequestDTO request) { var response = new HttpResponseMessage(); if (!ModelState.IsValid || request == null) { response.Content = new StringContent("Invalid request payload."); response.StatusCode = HttpStatusCode.Unauthorized; return(response); } Guid ssoID; //check id is correct format try { ssoID = Guid.Parse(request.ssoUserId); } catch (Exception) { response.Content = new StringContent("Invalid Guid format"); response.StatusCode = HttpStatusCode.Conflict; return(response); } using (var db = new DataBaseContext()) { try { //Logout user from any instances LogoutManager logoutManager = new LogoutManager(db); logoutManager.SSOLogout(ssoID, request.email, request.timeStamp, request.signature); //make response response.StatusCode = HttpStatusCode.OK; return(response); } catch (InvalidRequestSignature e) { //TODO: log response.Content = new StringContent(e.Message); response.StatusCode = HttpStatusCode.Unauthorized; return(response); } catch (UserDoesNotExistException e) { //TODO: log response.Content = new StringContent(e.Message); response.StatusCode = HttpStatusCode.Conflict; return(response); } } }