Expand description
OpenID Connect Advanced JARM (JWT Secured Authorization Response Mode)
This module implements the Advanced JARM specification, extending the standard JARM response mode with enhanced security features, multiple delivery mechanisms, and comprehensive token management.
§Advanced JARM Features
- Enhanced JWT Security: Advanced encryption and signing algorithms
- Multiple Delivery Modes: Query, fragment, form_post, and push notifications
- Custom Claims: Support for custom authorization response claims
- Response Validation: Comprehensive response integrity validation
§Specification Compliance
This implementation extends basic JARM with enterprise-grade features:
- Advanced cryptographic protection
- Multiple response delivery mechanisms
- Custom claim injection
- Response tampering detection
- Comprehensive audit logging
§Usage Example
use auth_framework::server::oidc_advanced_jarm::{
AdvancedJarmManager, AdvancedJarmConfig, JarmDeliveryMode, AuthorizationResponse
};
let config = AdvancedJarmConfig::default();
let jarm_manager = AdvancedJarmManager::new(config);
// Create authorization response
let authorization_params = AuthorizationResponse {
code: Some("auth_code_123".to_string()),
state: Some("state_123".to_string()),
access_token: None,
token_type: None,
expires_in: None,
scope: None,
id_token: None,
error: None,
error_description: None,
};
// Create JARM response
let response = jarm_manager.create_jarm_response(
"client123",
&authorization_params,
JarmDeliveryMode::Query,
None
).await?;Structs§
- Advanced
Jarm Config - Advanced JARM configuration
- Advanced
Jarm Manager - Advanced JARM manager
- Authorization
Response - Authorization response data to be included in JARM
- Jarm
Response - JARM response structure
- Jarm
Validation Result - JARM validation result
Enums§
- Delivery
Result - Delivery result
- Jarm
Delivery Mode - JARM delivery modes