pub enum CredentialKind {
Secret {
client_secret: String,
},
Certificate {
private_key_pem: String,
x5t_s256: String,
},
Federated {
token_file: String,
},
}Expand description
How the server proves it is the app registration.
Federated is the one to reach for: the assertion is the workload’s own
platform-issued identity token, so there is no durable secret to store,
rotate or leak.
Variants§
Secret
The ordinary confidential-client secret. Expires, and must be rotated by hand.
Certificate
A certificate credential: we sign the assertion ourselves, so the key
never crosses the wire. x5t_s256 is the certificate’s base64url
SHA-256 thumbprint, which Entra uses to pick the registered public key.
Federated
Workload identity federation. token_file is where the platform
projects the workload’s OIDC token — on Kubernetes this is the path
AZURE_FEDERATED_TOKEN_FILE points at.
Trait Implementations§
Source§impl Clone for CredentialKind
impl Clone for CredentialKind
Source§impl Debug for CredentialKind
impl Debug for CredentialKind
Source§impl<'de> Deserialize<'de> for CredentialKind
impl<'de> Deserialize<'de> for CredentialKind
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 CredentialKind
impl RefUnwindSafe for CredentialKind
impl Send for CredentialKind
impl Sync for CredentialKind
impl Unpin for CredentialKind
impl UnsafeUnpin for CredentialKind
impl UnwindSafe for CredentialKind
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