Overview
Major refactoring release: Standardizes authentication on Ory Hydra OAuth2, removes legacy providers (Auth0, Cognito, Kratos), implements hybrid OAuth2 + DID authentication, and pins all dependency versions for reproducible builds. Version: 2026.6.6Date: February 7, 2026
Author: Raahul Dutta
Breaking Changes
New Features
๐ Hybrid OAuth2 + DID Authentication
- Combines OAuth2 tokens with DID-based signatures
- DID used as stable key for credential storage
- Automatic client registration in Hydra with DID as client_id
- Public key metadata stored in Hydra client for verification
๐ Improved Hydra Client Registration
- Verifies client exists in Hydra before returning cached credentials
- Automatically recreates client if local credentials are stale
- Uses
client_secret_postfor token endpoint authentication - Proper URL encoding for DIDs with special characters
๐ฆ Pinned Dependency Versions
All dependencies now use exact versions (==) instead of minimum (>=):
| Category | Package Count |
|---|---|
| Core runtime | 15 packages |
| Telemetry | 7 packages |
| Payments/x402 | 5 packages |
| Storage | 4 packages |
| CLI tools | 2 packages |
| Security | 1 package |
๐ฅ๏ธ New Web UI Infrastructure
- Static file serving for agent web interface
- Modular JavaScript architecture:
api/client.js- HTTP client utilitiesstate/store.js- State managementchat/chat.js- Chat functionalitycore/- Protocol, events, constants
๐ฌ Startup Display Improvements
- OAuth token retrieval curl command shown at startup
- Client secret path displayed (not exposed directly)
- Clear instructions for obtaining access tokens
Improvements
๐๏ธ Authentication Architecture
- Single auth provider (Hydra) simplifies configuration
- HydraMiddleware handles OAuth2 token introspection
- DID signature verification for enhanced security
- Cleaner separation between auth and middleware layers
๐ Configuration Validation
- Simplified config validator for Hydra-only setup
- Removed Auth0/Cognito validation logic
- Better error messages for invalid configurations
๐งช Test Simplification
- Removed complex mocking in auth tests
- Simplified hybrid auth client tests
- Removed outdated registration tests
- 565 tests passing with 68.59% coverage
๐ Documentation Updates
examples/README.mdupdated for Hydra-only setup- Removed Auth0 token retrieval examples
- Added Hydra token retrieval instructions
Technical Details
Files Changed: 60+ files- Added: 25+ files (Hydra client, registration, middleware, UI)
- Modified: 20+ files (settings, config, applications)
- Deleted: 15+ files (Auth0, Cognito, Kratos, Vault modules)
New Modules
| Module | Lines | Purpose |
|---|---|---|
bindu/auth/hydra/client.py | 272 | Hydra Admin API client |
bindu/auth/hydra/registration.py | 220 | Agent registration |
bindu/server/middleware/auth/hydra.py | 397 | OAuth2 middleware |
bindu/utils/agent_token_utils.py | 178 | Token utilities |
bindu/utils/did_signature.py | 234 | DID signature utilities |
bindu/ui/static/ | - | Web UI static files |
Removed Modules
bindu/utils/auth_utils.py- Auth0 JWT utilitiesbindu/server/middleware/auth/auth0.py- Auth0 middlewarebindu/server/middleware/auth/cognito.py- Cognito middleware- Kratos configuration and migration scripts
Dependency Changes
Core Dependencies (pinned versions)
Removed Dependencies
openai,agno,ddgs(AI/search - not needed)numpy(heavy - not needed)ty(dev tool - moved to dev deps)
Testing
565 tests passing
Coverage: 68.59%
All Hydra authentication flows tested
DID signature verification tested
Token introspection and refresh tested
Migration Guide
For existing Auth0 deployments
Set up Ory Hydra server
Use https://hydra.getbindu.com or deploy your own
For Cognito deployments
- Full migration to Hydra required
- No direct migration path available
Commit Details
Merge Commit:c80026cadef48ed3bee675fdf811619c7a8c99cdPR: #135 (Feature/hydra migration v2)
Branch: feature/hydra-migration-v2
Commits: 36
Key Commits
| Commit | Description |
|---|---|
add4d56 | Remove Auth0/Cognito, standardize on Hydra |
2108e97 | Pin all dependency versions |
4da6c58 | Improve Hydra registration, switch to client_secret_post |
979d836 | Implement hybrid OAuth2 + DID authentication |
31f4388 | Remove Kratos, OAuth, Vault modules |
93c92ec | Use DID as stable key for credential storage |