PKCE: Proof Key for Code Exchange (Clave de prueba para intercambio de código)
La idea es enviar 2 parámetros adicionales para el /oauth2/authorize (code_challenge y code_challenge_method=S256) donde
- code_challenge es un valor generado al generar luego del SH256 del code_verifier(este valor se envía en el /aouth2/token)
- code_challenge_method=S256 es el método a utilizar
Luego se debe enviar un parámetro para el /oauth2/token (code_verifier)
Aquí la página para generator pkce: https://tonyxu-io.github.io/pkce-generator/
Otra referencia de Xero
Enlaces de referencia
- PKCE generator: https://tonyxu-io.github.io/pkce-generator/
- Especificación de PKCE: https://oauth.net/2/pkce/
- APIC 2018: https://www.ibm.com/docs/en/datapower-gateways/2018.4?topic=security-configuring-oauth-provider-settings
- APIC 10: https://www.ibm.com/docs/en/datapower-gateways/10.0.1?topic=settings-configuring-api-connect-as-oauth-provider
- Flow PKCE de Xero: https://developer.xero.com/documentation/guides/oauth2/pkce-flow/#xero-tenants