diff --git a/Packages.props b/Packages.props index 3b275bf6..5df2166c 100644 --- a/Packages.props +++ b/Packages.props @@ -5,19 +5,19 @@ - + - - - - - - - + + + + + + + diff --git a/src/OpenIddict.Server/OpenIddictServerHandlers.Discovery.cs b/src/OpenIddict.Server/OpenIddictServerHandlers.Discovery.cs index dea942c3..b89932ce 100644 --- a/src/OpenIddict.Server/OpenIddictServerHandlers.Discovery.cs +++ b/src/OpenIddict.Server/OpenIddictServerHandlers.Discovery.cs @@ -393,14 +393,14 @@ namespace OpenIddict.Server // Ensure the issuer ends with a trailing slash, as it is necessary // for Uri's constructor to correctly compute correct absolute URLs. - if (!issuer.OriginalString.EndsWith("/")) + if (!issuer.OriginalString.EndsWith("/", StringComparison.Ordinal)) { issuer = new Uri(issuer.OriginalString + "/", UriKind.Absolute); } // Ensure the endpoint does not start with a leading slash, as it is necessary // for Uri's constructor to correctly compute correct absolute URLs. - if (endpoint.OriginalString.StartsWith("/")) + if (endpoint.OriginalString.StartsWith("/", StringComparison.Ordinal)) { endpoint = new Uri(endpoint.OriginalString.Substring(1, endpoint.OriginalString.Length - 1), UriKind.Relative); } diff --git a/src/OpenIddict.Server/OpenIddictServerHandlers.cs b/src/OpenIddict.Server/OpenIddictServerHandlers.cs index 0df503fb..cc637313 100644 --- a/src/OpenIddict.Server/OpenIddictServerHandlers.cs +++ b/src/OpenIddict.Server/OpenIddictServerHandlers.cs @@ -1459,7 +1459,7 @@ namespace OpenIddict.Server // Restore the internal claims resolved from the authorization code/refresh token. foreach (var claims in notification.Principal.Claims - .Where(claim => claim.Type.StartsWith(Claims.Prefixes.Private)) + .Where(claim => claim.Type.StartsWith(Claims.Prefixes.Private, StringComparison.OrdinalIgnoreCase)) .GroupBy(claim => claim.Type)) { // If the specified principal already contains one claim of the iterated type, ignore them. @@ -4258,14 +4258,14 @@ namespace OpenIddict.Server // Ensure the issuer ends with a trailing slash, as it is necessary // for Uri's constructor to correctly compute correct absolute URLs. - if (!issuer.OriginalString.EndsWith("/")) + if (!issuer.OriginalString.EndsWith("/", StringComparison.Ordinal)) { issuer = new Uri(issuer.OriginalString + "/", UriKind.Absolute); } // Ensure the endpoint does not start with a leading slash, as it is necessary // for Uri's constructor to correctly compute correct absolute URLs. - if (endpoint.OriginalString.StartsWith("/")) + if (endpoint.OriginalString.StartsWith("/", StringComparison.Ordinal)) { endpoint = new Uri(endpoint.OriginalString.Substring(1, endpoint.OriginalString.Length - 1), UriKind.Relative); } diff --git a/src/OpenIddict.Validation/OpenIddictValidationConfiguration.cs b/src/OpenIddict.Validation/OpenIddictValidationConfiguration.cs index bdc47c58..ebbfef34 100644 --- a/src/OpenIddict.Validation/OpenIddictValidationConfiguration.cs +++ b/src/OpenIddict.Validation/OpenIddictValidationConfiguration.cs @@ -123,12 +123,12 @@ namespace OpenIddict.Validation throw new InvalidOperationException(SR.GetResourceString(SR.ID0137)); } - if (!issuer.OriginalString.EndsWith("/")) + if (!issuer.OriginalString.EndsWith("/", StringComparison.Ordinal)) { issuer = new Uri(issuer.OriginalString + "/", UriKind.Absolute); } - if (options.MetadataAddress.OriginalString.StartsWith("/")) + if (options.MetadataAddress.OriginalString.StartsWith("/", StringComparison.Ordinal)) { options.MetadataAddress = new Uri(options.MetadataAddress.OriginalString.Substring( 1, options.MetadataAddress.OriginalString.Length - 1), UriKind.Relative);