public IHttpActionResult LogoutFromSSO([FromBody] LogoutRequestModel request) { using (var _dbcontext = new BroadwayBuilderContext()) { try { ControllerHelper.ValidateLoginRequestModel(ModelState, request); //Guid userSsoId = ControllerHelper.ParseAndCheckId(request.SSOUserId); //SignatureService signatureService = new SignatureService(); //if (!signatureService.IsValidClientRequest(request.SSOUserId, request.Email, request.Timestamp, request.Signature)) //{ // return Content(HttpStatusCode.Unauthorized, "Invalid Signature Token"); //} _dbcontext.Sessions.Remove(_dbcontext.Sessions .Where(o => o.Signature == request.Signature) .First()); _dbcontext.SaveChanges(); return(Ok("User logged out")); } catch (Exception e) { return(InternalServerError(e)); } } }
public async Task <HttpResponseMessage> Logout(LogoutRequestModel logoutRequestModel) { var cts = new CancellationTokenSource(); var task = RemoteRequestAsync <HttpResponseMessage>(iApi.GetApi(Priority.UserInitiated).Logout(logoutRequestModel)); runningTasks.Add(task.Id, cts); return(await task); }
public async Task Logout() { var requestModel = new LogoutRequestModel { IdUser = CurrentUser.Id, Token = Token, }; await Gateway.LogoutAsync(requestModel); Clear(); RaisSessionStateChanged(); }
public ActionResult DirtyLogout(LogoutRequestModel request) { var response = new LogoutResponseModel(); if (request.User != null) { if (request.ChatroomId != -1 && request.ParentChatroomId != -1) { ChatroomService.RemoveUserFromChatroom(request.ChatroomId, request.ParentChatroomId, request.User.Id); } UserService.Logout(request.User.Id); } return(Json(response)); }
public async Task <IActionResult> Logout([FromRoute] Guid id, [FromBody] LogoutRequestModel request) { // TODO : better model validation if (id == Guid.Empty || string.IsNullOrEmpty(request.Token) || string.IsNullOrEmpty(request.RefreshToken)) { return(BadRequest()); } BaseModel <bool> result = await _userService.Logout(id, request.Token, request.RefreshToken); if (result.HasError || !result.Data) { return(BadRequest(new { error = result.ErrorMessage })); } return(Ok()); }
public ApiResponseModel <int> Logout() { ApiResponseModel <int> responseModel = new ApiResponseModel <int>(); using (HttpClient httpClient = new HttpClient()) { httpClient.BaseAddress = new Uri(ConfigHelper.ApiUrl); httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", SessionHelper.CurrentUser.UserToken); var portalApiRequestModel = new LogoutRequestModel(); portalApiRequestModel.UserToken = SessionHelper.CurrentUser.UserToken; HttpResponseMessage response = httpClient.PostAsJsonAsync(string.Format("User/Logout"), portalApiRequestModel).Result; responseModel = response.Content.ReadAsAsync <ApiResponseModel <int> >().Result; } return(responseModel); }
public MenuPage() { InitializeComponent(); NavigationPage.SetHasNavigationBar(this, false); MasterBehavior = MasterBehavior.Popover; imgProfile.Source = Settings.ProfilePicture; lblUserName.Text = Settings.Name; lblUserLocation.Text = Settings.Address; // lblUserPin.Text = "PIN: "+Settings.UserPin.ToString(); _objNavigationServiceViewModel = new NavigationServiceViewModel(); _apiServices = new RestApi(); _baseUrl = Settings.Url + Domain.LOgOutApiConstant; _objHeaderModel = new HeaderModel(); _objHeaderModel.OTPToken = Settings.TokenCode; _objLogoutRequestModel = new LogoutRequestModel(); _objLogoutResponseModel = new LogoutResponseModel(); NavigationList.ItemsSource = _objNavigationServiceViewModel.NavigationMenuList; }
public IHttpActionResult Logout(LogoutRequestModel requestModel) { if (ModelState.IsValid) { LogoutCommand logoutCommand = new LogoutCommand(requestModel.LoginToken); IEnumerable <ValidationResult> validations = commandDispatcher.Validate(logoutCommand); ModelState.AddModelErrors(validations); if (ModelState.IsValid) { commandDispatcher.Dispatch(logoutCommand); return(Ok()); } } return(BadRequest(ModelState)); }
public ActionResult Logout(LogoutRequestModel request) { var response = new LogoutResponseModel(); if (request.ChatroomId != -1 && request.ParentChatroomId != -1) { if (!ChatroomService.RemoveUserFromChatroom(request.ChatroomId, request.ParentChatroomId, request.User.Id)) { response.AddError("Could not remove user from chatroom."); } } if (!UserService.Logout(request.User.Id)) { response.AddError("Could not logout user."); } return(Json(response)); }
public ApiResponseModel <int> Logout([FromBody] LogoutRequestModel requestModel) { // token'ın geçerliliğinin sonlandırılması işlevidir. ApiResponseModel <int> responseModel = new ApiResponseModel <int>(); // UserToken tablosundaki token'ın geçerliliği sonlandırılacak. UserToken userToken = _userTokenService.GetByToken(requestModel.UserToken); userToken.IsValid = false; userToken.LogoutDateTime = DateTime.Now; int resultUpdateToken = _userTokenService.Update(userToken); if (resultUpdateToken <= 0) { responseModel.ResultStatusCode = ResultStatusCodeStatic.Error; responseModel.ResultStatusMessage = "Failed To Terminate User Token"; return(responseModel); } responseModel.Data = resultUpdateToken; responseModel.ResultStatusCode = ResultStatusCodeStatic.Success; return(responseModel); }
public void TestDirtyLogout() { var USER = _helper.testUsers[0]; UserController userControllerTest = new UserController(); //Create test data model LogoutRequestModel model = new LogoutRequestModel() { UserId = USER.Id, ChatroomId = -1, ParentChatroomId = -1, User = new UserModel() { Id = USER.Id } }; //Test logout success var result = userControllerTest.DirtyLogout(model) as JsonResult; Assert.AreEqual(0, ((LogoutResponseModel)result.Data).Errors.Count); //Removing user from chatroom is tested in Chatroom Controller }
public async Task <LogoutResponseModel> LogOutAsync(string uri, Boolean IsHeaderRequired, HeaderModel objHeaderModel, LogoutRequestModel _objLogoutRequestModel) { LogoutResponseModel objLogoutResponseModel; string s = JsonConvert.SerializeObject(_objLogoutRequestModel); HttpResponseMessage response = null; using (var stringContent = new StringContent(s, System.Text.Encoding.UTF8, "application/json")) { if (IsHeaderRequired) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", objHeaderModel.OTPToken); } response = await client.PostAsync(uri, stringContent); if (response.IsSuccessStatusCode) { var SucessResponse = await response.Content.ReadAsStringAsync(); objLogoutResponseModel = JsonConvert.DeserializeObject <LogoutResponseModel>(SucessResponse); return(objLogoutResponseModel); } else { var ErrorResponse = await response.Content.ReadAsStringAsync(); objLogoutResponseModel = JsonConvert.DeserializeObject <LogoutResponseModel>(ErrorResponse); return(objLogoutResponseModel); } } }
public Task LogoutAsync(LogoutRequestModel model) { return(SendRequestFor <bool>(API.METHOD.LOGOUT, model)); }