/// <summary> /// Revoke token using either access or refresh token /// </summary> /// <param name="accessOrRefreshToken"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <TokenRevocationResponse> RevokeTokenAsync(string accessOrRefreshToken, CancellationToken cancellationToken = default(CancellationToken)) { AdvancedLoggerEnabled = true; //Intialize Logger AdvancedLogger = LogHelper.GetAdvancedLogging(enableSerilogRequestResponseLoggingForDebug: this.EnableSerilogRequestResponseLoggingForDebug, enableSerilogRequestResponseLoggingForTrace: this.EnableSerilogRequestResponseLoggingForTrace, enableSerilogRequestResponseLoggingForConsole: this.EnableSerilogRequestResponseLoggingForConsole, enableSerilogRequestResponseLoggingForRollingFile: this.EnableSerilogRequestResponseLoggingForRollingFile, serviceRequestLoggingLocationForFile: this.ServiceRequestLoggingLocationForFile); TokenRevocationClient revokeTokenClient = new TokenRevocationClient(DiscoveryDoc.RevocationEndpoint, ClientID, ClientSecret); return(await revokeTokenClient.RevokeAsync(new TokenRevocationRequest { Token = accessOrRefreshToken, }, cancellationToken).ConfigureAwait(false)); }