public async Task <IActionResult> OnGet(string logoutId) { Input = await BuildLogoutViewModelAsync(logoutId); if (Input.ShowLogoutPrompt == false) { return(await OnPost()); } return(Page()); }
public async Task <IActionResult> Logout(LogoutVm logoutVm) { //if user exists fetch all existing refresh tokens var existingRefreshTokens = await _accountService.GetRefreshTokens(); if (existingRefreshTokens != null) { //remove provided refresh token var result = _tokenService .DeleteRefreshToken(logoutVm.RefreshTokenToDelete, existingRefreshTokens); } return(Ok()); }
private async Task <LogoutVm> BuildLogoutViewModelAsync(string logoutId) { var vm = new LogoutVm { LogoutId = logoutId, ShowLogoutPrompt = AccountOptions.ShowLogoutPrompt }; if (User?.Identity.IsAuthenticated != true) { vm.ShowLogoutPrompt = false; return(vm); } var context = await _interaction.GetLogoutContextAsync(logoutId); if (context?.ShowSignoutPrompt == false) { vm.ShowLogoutPrompt = false; return(vm); } return(vm); }