feat: Add DPoP authentication support#22
Merged
kishore7snehil merged 24 commits intomainfrom Aug 28, 2025
Merged
Conversation
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Jul 31, 2025
Widcket
reviewed
Aug 5, 2025
Co-authored-by: Rita Zerrizuela <zeta@widcket.com>
Widcket
reviewed
Aug 12, 2025
Contributor
|
How is the library handling the case when the Authorization header contains a malformed access token (e.g. |
Widcket
reviewed
Aug 12, 2025
Contributor
|
How is the library handling the case where more than one |
Widcket
reviewed
Aug 12, 2025
Widcket
reviewed
Aug 12, 2025
Contributor
|
How is the library handling the case when the the DPoP proof contains extra claims in the payload, and extra properties in the header? These should be ignored. |
Contributor
Author
Contributor
|
Thanks. Seems that there is an instance where the |
Widcket
reviewed
Aug 12, 2025
…eturn 400 status code with appropriate error messages
…te test assertions
Widcket
approved these changes
Aug 27, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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