public async Task <ActionResult <ApiResponse <bool> > > Logout(LogoutDto dto) { try { var isLoggedOut = await _authService.LogOut(dto.Username, dto.RefreshToken); return(isLoggedOut.CreateSuccessResponse("User logged out.")); } catch (Exception exception) { return(Unauthorized(exception.CreateErrorResponse())); } }
public async Task <ActionResult <ApiResponse <bool> > > LogoutAll(LogoutDto dto) { try { var(allLoggedOut, deviceCount) = await _authService.LogOutFromAllDevice(dto.Username, dto.RefreshToken); return(allLoggedOut.CreateSuccessResponse($"User logged out from {deviceCount} devices.")); } catch (Exception exception) { return(Unauthorized(exception.CreateErrorResponse())); } }
public async Task <IActionResult> Logout(LogoutDto model) { var vm = await BuildLoggedOutViewModelAsync(model.LogoutId); if (User?.Identity.IsAuthenticated == true) { await _signInManager.SignOutAsync(); await _events.RaiseAsync(new UserLogoutSuccessEvent(User.GetSubjectId(), User.GetDisplayName())); } return(PartialView("LoggedOut", vm)); }
public async Task <IActionResult> logout([FromBody] LogoutDto logoutDto) { //if ((User.FindFirst(ClaimTypes.NameIdentifier).Value) != Request.Headers["UserId"]) //{ // return Unauthorized(); //} if (!ModelState.IsValid) { return(Ok(HttpStatusCode.InternalServerError)); } HttpContext.Response.Cookies.Delete(".AspNetCore.Security.Cookie"); return(Ok("Success")); }
public async Task <IActionResult> LogOut([FromBody] LogoutDto model) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState.Values.SelectMany(v => v.Errors).Select(modelError => modelError.ErrorMessage).ToList())); } await _authService.LogOut(model.RefreshToken); return(Ok(new { message = " logout succssesfully done" })); } catch (AppException ex) { return(BadRequest(new { message = ex.Message })); } }
public async Task <IActionResult> Logout(LogoutInputModel model) { _logger.LogInformation("Logout {User}", User?.Identity?.Name); var vm = new LogoutDto(); var authenticated = User?.Identity?.IsAuthenticated == true; if (authenticated) { if (string.IsNullOrEmpty(model.LogoutId)) { var idp = User.FindFirst(JwtClaimTypes.IdentityProvider)?.Value; if (idp != null && idp != IdentityServer4.IdentityServerConstants.LocalIdentityProvider && await HttpContext.GetSchemeSupportsSignOutAsync(idp)) { model.LogoutId = await _interaction.CreateLogoutContextAsync(); } } vm = await _mediator.Send(new DoLogoutCommand(model.LogoutId, User.GetSubjectId(), User.GetDisplayName())); } return(View("LoggedOut", vm)); }
public async Task <IActionResult> Logout([FromBody] LogoutDto logoutDto) { //remove refresh token //delete cookies. if (!ModelState.IsValid) { return(new BadRequestObjectResult(ModelState)); } var command = new LogoutCommand(logoutDto.Email); var result = await _mediator.Send(command); if (result.Value == false) { return(new BadRequestObjectResult(result.ErrorMessages)); } ExpireCookie("X-Access-Token"); ExpireCookie("X-Refresh-Token"); return(Ok()); }