Expand description
Initiating User Registration via OpenID Connect
This module implements the “Initiating User Registration via OpenID Connect 1.0”
specification, which allows clients to initiate user registration through the
OpenID Connect authorization flow using the prompt=create parameter.
§Features
prompt=createparameter handling- User registration flow integration
- Registration completion validation
- Registration metadata and claims handling
- Structured OIDC error responses for registration failures
- Session management with timeout handling
- Comprehensive error reporting using OpenID Connect error codes
§Error Handling
The registration manager uses OidcErrorManager to provide structured error
responses that comply with OpenID Connect specifications:
registration_not_supported- When registration is disabledinvalid_request- For malformed registration requestssession_selection_required- For missing/invalid registration sessionsregistration_required- For incomplete registration datalogin_required- For expired registration sessions
§Usage Examples
use auth_framework::server::oidc_user_registration::{RegistrationManager, RegistrationConfig, RegistrationRequest};
let mut manager = RegistrationManager::new(RegistrationConfig::default());
let request = RegistrationRequest {
client_id: "client123".to_string(),
redirect_uri: "https://app.example.com/callback".to_string(),
scope: "openid profile email".to_string(),
response_type: "code".to_string(),
prompt: Some("create".to_string()),
state: None,
nonce: None,
login_hint: None,
ui_locales: None,
registration_metadata: None,
claims: None,
};
let registration_id = manager.initiate_registration(request)?;Structs§
- Registration
Config - Registration configuration
- Registration
Data - User registration data
- Registration
Manager - User registration manager
- Registration
Request - User registration request parameters
- Registration
Response - Registration completion response