Module oidc_advanced_jarm

Module oidc_advanced_jarm 

Source
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§

AdvancedJarmConfig
Advanced JARM configuration
AdvancedJarmManager
Advanced JARM manager
AuthorizationResponse
Authorization response data to be included in JARM
JarmResponse
JARM response structure
JarmValidationResult
JARM validation result

Enums§

DeliveryResult
Delivery result
JarmDeliveryMode
JARM delivery modes