Veuillez consulter notre documentation pour connaître les étapes complètes de mise en œuvre du flux PKCE dans le lien d'authentification et lors de l'échange de code avec un jeton d'accès.
Une chaîne codée Base64Url du hachage SHA256 du code_verifier.
echo code_challenge=$(printf %s "${code_verifier}" | openssl dgst -sha256 -binary | base64 | sed 's/+/-/g; s/\//_/g; s/=//g';)
Exemple d'implémentation de hachage et d'encodage en C #:
/// <summary>
/// Creates a SHA256 hash of the specified input.
/// </summary>
/// <param name="input">The input.</param>
/// <returns>A hash</returns>
public static string ToSha256(this string input)
{
using (var sha = SHA256.Create())
{
var bytes = Encoding.UTF8.GetBytes(input);
var hash = sha.ComputeHash(bytes);
return Convert.ToBase64String(hash);
}
}
Vérificateur de code:
PKCE nécessite un vérificateur de code. Il s'agit d'une chaîne cryptographiquement aléatoire utilisant les caractères A-Z, a-z, 0-9 et les caractères de ponctuation -._ ~ (trait d'union, point, trait de soulignement et tilde), entre 43 et 128 caractères.
Le code_verifier est conservé par le client et transmis sur un canal arrière lors de l'échange de code final. Pour initier le flux PKCE, pendant la phase d'auth-link, les paramètres suivants doivent être fournis
curl -X POST \
-d grant_type=authorization_code \
-d client_id=${client_id} \
-d redirect_uri=${redirect_uri} \
-d code=${code} \
-d code_verifier=${code_verifier}
https://auth.truelayer.com/connect/token
export LC_CTYPE=C # this may be needed on Mac OSX to set expected locale
code_verifier=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 64)
Plus
Si vous avez besoin de plus d'informations, veuillez consulter notre documentation sur la mise en œuvre du flux PKCE dans le lien d'authentification et lors de l'échange de code avec un jeton d'accès.