diff --git a/identity-model-oidc-client/src/IdentityModel.OidcClient.Extensions/DPoP/DPoPExtensions.cs b/identity-model-oidc-client/src/IdentityModel.OidcClient.Extensions/DPoP/DPoPExtensions.cs index dc3bf7ee..e041273d 100644 --- a/identity-model-oidc-client/src/IdentityModel.OidcClient.Extensions/DPoP/DPoPExtensions.cs +++ b/identity-model-oidc-client/src/IdentityModel.OidcClient.Extensions/DPoP/DPoPExtensions.cs @@ -24,43 +24,11 @@ public static void SetDPoPProofToken(this HttpRequestMessage request, string? pr /// public static string? GetDPoPNonce(this HttpResponseMessage response) { - return response.Headers - .FirstOrDefault(x => string.Equals(OidcConstants.HttpHeaders.DPoPNonce, x.Key, StringComparison.OrdinalIgnoreCase)) - .Value?.FirstOrDefault(); return response.Headers.TryGetValues(OidcConstants.HttpHeaders.DPoPNonce, out var values) ? values.FirstOrDefault() : null; } - ///// - ///// Reads the WWW-Authenticate response header to determine if the respone is in error due to DPoP - ///// - //public static bool IsDPoPError(this HttpResponseMessage response) - //{ - // if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized) - // { - // var header = response.Headers.WwwAuthenticate.Where(x => x.Scheme == OidcConstants.AuthenticationSchemes.AuthorizationHeaderDPoP).FirstOrDefault(); - // if (header != null && header.Parameter != null) - // { - // // WWW-Authenticate: DPoP error="use_dpop_nonce" - // var values = header.Parameter.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); - // var error = values.Select(x => - // { - // var parts = x.Split(new[] { '=' }, StringSplitOptions.RemoveEmptyEntries); - // if (parts.Length == 2 && parts[0] == OidcConstants.TokenResponse.Error) - // { - // return parts[1].Trim('"'); - // } - // return null; - // }).Where(x => x != null).FirstOrDefault(); - - // return error == OidcConstants.TokenErrors.UseDPoPNonce || error == OidcConstants.TokenErrors.InvalidDPoPProof; - // } - // } - - // return false; - //} - /// /// Returns the URL without any query params ///