pub enum OidcProvider {
Google,
Apple,
Microsoft,
Custom {
issuer: String,
jwks_url: String,
},
}Available on crate feature
keyless only.Expand description
Supported OIDC providers.
Variants§
Google identity provider.
Apple
Apple identity provider.
Microsoft
Microsoft identity provider.
Custom
Custom OIDC provider.
Implementations§
Source§impl OidcProvider
impl OidcProvider
Sourcepub fn from_issuer(issuer: &str) -> Self
pub fn from_issuer(issuer: &str) -> Self
Infers a provider from an issuer URL.
§Security
For unknown issuers, the JWKS URL is constructed as {issuer}/.well-known/jwks.json.
Non-HTTPS issuers are accepted at construction time but will produce an empty
JWKS URL, causing a clear error at JWKS fetch time. This prevents SSRF via
http://, file://, or other dangerous URL schemes without changing the
function signature. Callers controlling issuer input should additionally
validate the host (e.g., block private IP ranges) if SSRF is a concern.
Trait Implementations§
Source§impl Clone for OidcProvider
impl Clone for OidcProvider
Source§fn clone(&self) -> OidcProvider
fn clone(&self) -> OidcProvider
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for OidcProvider
impl Debug for OidcProvider
Source§impl PartialEq for OidcProvider
impl PartialEq for OidcProvider
impl Eq for OidcProvider
impl StructuralPartialEq for OidcProvider
Auto Trait Implementations§
impl Freeze for OidcProvider
impl RefUnwindSafe for OidcProvider
impl Send for OidcProvider
impl Sync for OidcProvider
impl Unpin for OidcProvider
impl UnsafeUnpin for OidcProvider
impl UnwindSafe for OidcProvider
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.