pub struct AdvancedTokenExchangeManager { /* private fields */ }Expand description
Main Advanced Token Exchange Manager
Implementations§
Source§impl AdvancedTokenExchangeManager
impl AdvancedTokenExchangeManager
Sourcepub fn new(
config: AdvancedTokenExchangeConfig,
session_manager: Arc<SessionManager>,
) -> Result<Self>
pub fn new( config: AdvancedTokenExchangeConfig, session_manager: Arc<SessionManager>, ) -> Result<Self>
Create a new advanced token exchange manager
Sourcepub fn register_processor(
&mut self,
token_type: String,
processor: Arc<dyn TokenExchangeProcessor>,
)
pub fn register_processor( &mut self, token_type: String, processor: Arc<dyn TokenExchangeProcessor>, )
Register a token exchange processor
Sourcepub async fn exchange_token(
&self,
request: AdvancedTokenExchangeRequest,
) -> Result<AdvancedTokenExchangeResponse>
pub async fn exchange_token( &self, request: AdvancedTokenExchangeRequest, ) -> Result<AdvancedTokenExchangeResponse>
Exchange token following enhanced RFC 8693
Sourcepub async fn get_exchange_audit(&self) -> Vec<ExchangeAuditInfo>
pub async fn get_exchange_audit(&self) -> Vec<ExchangeAuditInfo>
Get exchange audit history
Sourcepub async fn cleanup_old_audit_entries(
&self,
older_than: DateTime<Utc>,
) -> usize
pub async fn cleanup_old_audit_entries( &self, older_than: DateTime<Utc>, ) -> usize
Clean up old audit entries
Sourcepub fn generate_audit_token(
&self,
audit_info: &ExchangeAuditInfo,
) -> Result<String>
pub fn generate_audit_token( &self, audit_info: &ExchangeAuditInfo, ) -> Result<String>
Generate a signed audit token for exchange verification
Sourcepub fn validate_delegation_token(&self, token: &str) -> Result<Value>
pub fn validate_delegation_token(&self, token: &str) -> Result<Value>
Validate a delegation context token to ensure chain integrity
Sourcepub fn generate_delegation_token(
&self,
context: &ExchangeContext,
) -> Result<String>
pub fn generate_delegation_token( &self, context: &ExchangeContext, ) -> Result<String>
Generate a delegation context token for preserving chain integrity
Sourcepub fn introspect_jwt_token(&self, token: &str) -> Result<Value>
pub fn introspect_jwt_token(&self, token: &str) -> Result<Value>
Introspect and validate any JWT token using the manager’s keys
Trait Implementations§
Source§impl TokenExchangeService for AdvancedTokenExchangeManager
Implementation of the common TokenExchangeService trait
impl TokenExchangeService for AdvancedTokenExchangeManager
Implementation of the common TokenExchangeService trait
Source§fn exchange_token<'life0, 'async_trait>(
&'life0 self,
request: Self::Request,
) -> Pin<Box<dyn Future<Output = Result<Self::Response>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn exchange_token<'life0, 'async_trait>(
&'life0 self,
request: Self::Request,
) -> Pin<Box<dyn Future<Output = Result<Self::Response>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Exchange a token following enhanced RFC 8693 (advanced implementation)
Source§fn validate_token<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
token: &'life1 str,
token_type: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<TokenValidationResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn validate_token<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
token: &'life1 str,
token_type: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<TokenValidationResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Validate a token using advanced validation capabilities
Source§fn supported_subject_token_types(&self) -> Vec<String>
fn supported_subject_token_types(&self) -> Vec<String>
Get supported subject token types
Source§fn supported_requested_token_types(&self) -> Vec<String>
fn supported_requested_token_types(&self) -> Vec<String>
Get supported requested token types
Source§fn capabilities(&self) -> TokenExchangeCapabilities
fn capabilities(&self) -> TokenExchangeCapabilities
Get service capabilities
Source§type Request = AdvancedTokenExchangeRequest
type Request = AdvancedTokenExchangeRequest
Exchange token request type
Source§type Response = AdvancedTokenExchangeResponse
type Response = AdvancedTokenExchangeResponse
Exchange token response type
Source§type Config = AdvancedTokenExchangeConfig
type Config = AdvancedTokenExchangeConfig
Configuration type
Auto Trait Implementations§
impl Freeze for AdvancedTokenExchangeManager
impl !RefUnwindSafe for AdvancedTokenExchangeManager
impl Send for AdvancedTokenExchangeManager
impl Sync for AdvancedTokenExchangeManager
impl Unpin for AdvancedTokenExchangeManager
impl !UnwindSafe for AdvancedTokenExchangeManager
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more