feat: add DPoP support #16
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📋 Changes
This PR implements DPoP (RFC 9449) support for auth0-api-python, enabling sender-constrained OAuth 2.0 access tokens using cryptographic proof of possession for enhanced API security.
Note
DPoP is currently in Early Access. Contact Auth0 support to enable it for your tenant.
✨ Features
verify_request()method automatically detects and validates Bearer or DPoP schemeshtm,htu,ath,jtiwith timing checkshtuclaims with proper scheme and port handling🔧 API Changes
verify_request()method toApiClientfor unified authentication scheme detectionverify_dpop_proof()method for direct DPoP proof verificationApiClientOptionswith DPoP configuration parameters (dpop_enabled,dpop_required,dpop_iat_leeway,dpop_iat_offset)InvalidDpopProofError,InvalidAuthSchemeError📚 Core Components
📖 Documentation
README.mdwith comprehensive features overview and DPoP authentication sectionEXAMPLES.mdwith authentication scheme examples📎 References
🧪 Testing
This change adds test coverage
This change has been tested on the latest version of the platform/language or why not
Contributor Checklist