public async Task <bool> Logout(string userId, string refreshToken) { await _tokenService.RevokeUserBearerTokensAsync(userId, refreshToken); _antiForgeryCookieService.DeleteAntiForgeryCookies(); return(true); }
public async Task <bool> Logout([FromBody] JToken jsonBody) { var claimsIdentity = this.User.Identity as ClaimsIdentity; var userIdValue = claimsIdentity.FindFirst(ClaimTypes.UserData)?.Value; var refreshToken = jsonBody.Value <string>("refreshToken"); await _tokenStoreService.RevokeUserBearerTokensAsync(userIdValue, refreshToken); return(true); }
public async Task <IActionResult> Logout([FromBody] string refreshToken) { var claimsIdentity = this.User.Identity as ClaimsIdentity; var userIdValue = claimsIdentity.FindFirst(ClaimTypes.UserData)?.Value; // The Jwt implementation does not support "revoke OAuth token" (logout) by design. // Delete the user's tokens from the database (revoke its bearer token) await _tokenStoreService.RevokeUserBearerTokensAsync(userIdValue, refreshToken); return(Ok(GetRequestResult(true))); }
public async Task <bool> Logout(string refreshToken) { var claimsIdentity = this.User.Identity as ClaimsIdentity; var userIdValue = claimsIdentity.FindFirst(ClaimTypes.UserData)?.Value; // The Jwt implementation does not support "revoke OAuth token" (logout) by design. // Delete the user's tokens from the database (revoke its bearer token) await _tokenStoreService.RevokeUserBearerTokensAsync(userIdValue, refreshToken); await _uow.SaveChangesAsync(); return(true); }