feat: make DPoP opt-in by defaulting useDPoP to false - #1622
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughDPoP now defaults to disabled in native and web clients. Explicit ChangesDPoP default configuration
Estimated code review effort: 2 (Simple) | ~15 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@FAQ.md`:
- Line 503: Update the migration link in the FAQ note to use the section 14
fragment, `#14-how-do-i-migrate-existing-users-to-dpop`, while preserving the
displayed link text and surrounding content.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 3575ba34-0c41-4947-8ec5-f34867fa412c
📒 Files selected for processing (14)
CLAUDE.mdEXAMPLES-WEB.mdEXAMPLES.mdFAQ.mdMIGRATION_GUIDE.mdREADME.mdandroid/src/main/java/com/auth0/react/A0Auth0Module.ktsrc/platforms/native/adapters/NativeAuth0Client.tssrc/platforms/native/adapters/__tests__/NativeAuth0Client.spec.tssrc/platforms/native/bridge/NativeBridgeManager.tssrc/platforms/native/bridge/__tests__/NativeBridgeManager.spec.tssrc/platforms/web/adapters/WebAuth0Client.tssrc/platforms/web/adapters/__tests__/WebAuth0Client.spec.tssrc/types/common.ts
Changes
useDPoPnow defaults tofalse. From v5.1.0 through v5.x it defaulted totrue, so every app got DPoP-bound tokens whether or not DPoP was actually enabled for the application in the Auth0 Dashboard. Since it has to be turned on tenant-side to be useful, it is now something you opt into explicitly.Apps that want DPoP set it at construction:
Apps that never set
useDPoPneed no change — they now get Bearer tokens.The default is applied in the TypeScript adapters and the Android module. iOS needed no change:
NativeBridgehas no default of its own and simply receives the value, so the TypeScript default governs both platforms. One small cleanup came along with it —WebAuth0Clientwas computingoptions.useDPoP ?? truetwice, and the second now reuses the first so the two can't drift.Note for existing sessions: credentials saved by a DPoP-enabled v5 app are DPoP-bound. Upgrading without setting
useDPoP: trueleaves the credentials manager unable to prove possession of the key, so reading those stored credentials fails withDPOP_NOT_CONFIGURED. Apps either keepuseDPoP: trueor clear credentials and re-authenticate — both paths are documented in the migration guide, along with the symmetric case of deliberately turning DPoP off.Summary by CodeRabbit
New Features
useDPoP: true.Documentation
Bug Fixes