OIDC Authentication & Authorization #110
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.
🔐 Add Comprehensive OIDC Authentication Support
Overview
This PR introduces a complete OpenID Connect (OIDC) authentication system to the Structures framework, enabling secure JWT-based authentication with multiple identity providers including Keycloak, Okta, Microsoft Entra ID, Google, and GitHub.
✨ Key Features
🔧 Backend Implementation
structures-authlibrary with comprehensive OIDC support🎨 Frontend Integration
🧪 Testing Infrastructure
��️ Architecture
Core Components
OidcSecurityService: Main authentication service implementingSecurityServiceinterfaceJwksService: Efficient JWKS caching and key managementOidcAuthVerifier: JWT token validation and participant creationOidcSecurityServiceProperties: Configuration managementFrontend Components
Login.vue: Main authentication interface with conditional provider displayOidcConfiguration.ts: Provider configuration and environment variable managementIUserState.ts: User state management interface📚 Documentation
🚀 Getting Started
1. Enable OIDC Authentication
2. Frontend Configuration
# Enable specific providers VITE_OIDC_OKTA_ENABLED=true VITE_OIDC_KEYCLOAK_ENABLED=true VITE_OIDC_GOOGLE_ENABLED=false3. Run with Keycloak
🔒 Security Features
🧪 Testing
📊 Impact
structures-authlibrarystructures-core,structures-frontend-next,structures-server�� Breaking Changes
None. This is a purely additive feature that maintains backward compatibility with existing authentication mechanisms.
�� Dependencies
�� Contributors
This feature was developed with a focus on:
📝 Next Steps
Ready for review and testing! 🎉