/// <inheritdoc/> public async Task <TokenRevocationResponse> RevokeRefreshTokenAsync(string refreshToken) { var requestDetails = await _configService.GetTokenRevocationRequestAsync(); requestDetails.Token = refreshToken; requestDetails.TokenTypeHint = OidcConstants.TokenTypes.RefreshToken; return(await _httpClient.RevokeTokenAsync(requestDetails)); }
/// <inheritdoc/> public async Task <TokenRevocationResponse> RevokeRefreshTokenAsync( string refreshToken, UserAccessTokenParameters parameters = null, CancellationToken cancellationToken = default) { _logger.LogDebug("Revoking refresh token: {token}", refreshToken); parameters ??= new UserAccessTokenParameters(); var requestDetails = await _configService.GetTokenRevocationRequestAsync(parameters); requestDetails.Token = refreshToken; requestDetails.TokenTypeHint = OidcConstants.TokenTypes.RefreshToken; #if NET5_0 requestDetails.Options.TryAdd(AccessTokenManagementDefaults.AccessTokenParametersOptionsName, parameters); #elif NETCOREAPP3_1 requestDetails.Properties[AccessTokenManagementDefaults.AccessTokenParametersOptionsName] = parameters; #endif var httpClient = _httpClientFactory.CreateClient(AccessTokenManagementDefaults.BackChannelHttpClientName); return(await httpClient.RevokeTokenAsync(requestDetails, cancellationToken)); }