pub struct IdentityPrincipal {Show 13 fields
pub id: String,
pub provider: IdentityProvider,
pub issuer: String,
pub display_name: Option<String>,
pub email: Option<String>,
pub email_verified: Option<bool>,
pub organization_id: Option<String>,
pub teams: Vec<String>,
pub roles: Vec<String>,
pub attributes: HashMap<String, Value>,
pub authenticated_at: String,
pub auth_method: Option<AuthMethod>,
pub expires_at: Option<String>,
}Expand description
An authenticated principal (user or service identity).
Note: timestamps are kept as ISO 8601/RFC 3339 strings for cross-language portability.
Fields§
§id: StringUnique identifier (OIDC sub, SAML NameID, etc).
provider: IdentityProviderIdentity provider type.
issuer: StringProvider-specific issuer URL.
display_name: Option<String>Display name.
email: Option<String>Email address.
email_verified: Option<bool>Email verification status.
organization_id: Option<String>Organization/tenant identifier.
teams: Vec<String>Team memberships.
roles: Vec<String>Assigned roles.
attributes: HashMap<String, Value>Custom attributes from IdP.
authenticated_at: StringAuthentication timestamp (ISO 8601).
auth_method: Option<AuthMethod>Authentication method used.
expires_at: Option<String>Token expiration (ISO 8601).
Trait Implementations§
Source§impl Clone for IdentityPrincipal
impl Clone for IdentityPrincipal
Source§fn clone(&self) -> IdentityPrincipal
fn clone(&self) -> IdentityPrincipal
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 IdentityPrincipal
impl Debug for IdentityPrincipal
Source§impl<'de> Deserialize<'de> for IdentityPrincipal
impl<'de> Deserialize<'de> for IdentityPrincipal
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for IdentityPrincipal
impl RefUnwindSafe for IdentityPrincipal
impl Send for IdentityPrincipal
impl Sync for IdentityPrincipal
impl Unpin for IdentityPrincipal
impl UnwindSafe for IdentityPrincipal
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