pub struct MultiProviderAuthState { /* private fields */ }Expand description
Shared state for the multi-provider auth endpoints.
Implementations§
Source§impl MultiProviderAuthState
impl MultiProviderAuthState
Sourcepub fn new(
state_store: Arc<dyn StateStore>,
session_store: Arc<dyn SessionStore>,
) -> Self
pub fn new( state_store: Arc<dyn StateStore>, session_store: Arc<dyn SessionStore>, ) -> Self
Create a new multi-provider auth state.
Sourcepub fn with_user_store(self, user_store: Arc<dyn AccountStore>) -> Self
pub fn with_user_store(self, user_store: Arc<dyn AccountStore>) -> Self
Set the user store for account linking.
When set, the callback handler uses AccountStore::link_or_create_user to
resolve provider identities to local users, enabling automatic account
linking when the same email appears across different providers.
Sourcepub fn register_provider(
&mut self,
name: impl Into<String>,
provider: Arc<dyn OAuthProvider>,
)
pub fn register_provider( &mut self, name: impl Into<String>, provider: Arc<dyn OAuthProvider>, )
Register an OAuth provider under the given name.
Sourcepub fn provider_names(&self) -> Vec<String>
pub fn provider_names(&self) -> Vec<String>
List the names of all registered providers.
Sourcepub fn get_provider(&self, name: &str) -> Option<&Arc<dyn OAuthProvider>>
pub fn get_provider(&self, name: &str) -> Option<&Arc<dyn OAuthProvider>>
Look up a provider by name.
Trait Implementations§
Source§impl Clone for MultiProviderAuthState
impl Clone for MultiProviderAuthState
Source§fn clone(&self) -> MultiProviderAuthState
fn clone(&self) -> MultiProviderAuthState
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for MultiProviderAuthState
impl !RefUnwindSafe for MultiProviderAuthState
impl Send for MultiProviderAuthState
impl Sync for MultiProviderAuthState
impl Unpin for MultiProviderAuthState
impl UnsafeUnpin for MultiProviderAuthState
impl !UnwindSafe for MultiProviderAuthState
Blanket Implementations§
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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