Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save DavidKlempfner/dd768f32e9a9db9ade54fa7ad04c84c9 to your computer and use it in GitHub Desktop.
Save DavidKlempfner/dd768f32e9a9db9ade54fa7ad04c84c9 to your computer and use it in GitHub Desktop.
ValidateCodeVerifierAgainstCodeChallenge
private bool ValidateCodeVerifierAgainstCodeChallenge(string codeVerifier, string codeChallenge, string codeChallengeMethod)
{
if (codeChallengeMethod == OidcConstants.CodeChallengeMethods.Plain)
{
return TimeConstantComparer.IsEqual(codeVerifier.Sha256(), codeChallenge);
}
var codeVerifierBytes = Encoding.ASCII.GetBytes(codeVerifier);
var hashedBytes = codeVerifierBytes.Sha256();
var transformedCodeVerifier = Base64Url.Encode(hashedBytes);
return TimeConstantComparer.IsEqual(transformedCodeVerifier.Sha256(), codeChallenge);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment