idpyoidc advertised PKCE support but did not actually verify the code challenge at the token endpoint, so a sent code_challenge provided no protection. Enable the PKCE add-on restricted to S256. Configured as non-essential: relying parties that do not send a code_challenge continue to work (no breaking change), but any RP that uses PKCE must use S256, and the code_verifier is verified at token exchange. Flip essential=True (or per-client pkce_essential) to require PKCE once all clients have migrated. Refs: porchlight-s48 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_app_integration.py | ||
| test_authorization.py | ||
| test_claims.py | ||
| test_consent_flow.py | ||
| test_discovery.py | ||
| test_e2e_flow.py | ||
| test_login_oidc_redirect.py | ||
| test_provider.py | ||
| test_token.py | ||
| test_userinfo.py | ||