pub struct MfaSecret {
pub secret_base32: String,
pub serial: String,
}Expand description
One TOTP authentication device’s worth of state. The base32 secret is
shared between client and server and must be at least 128 bits (16
bytes raw → 26 chars un-padded base32, RFC 6238 requirement) — shorter
secrets are rejected by verify_totp when the underlying TOTP
constructor refuses them.
Fields§
§secret_base32: StringBase32-encoded TOTP secret (RFC 4648, un-padded). Length is provider-defined (typically 16 / 32 chars).
serial: StringSerial — opaque identifier the client sends in x-amz-mfa. Used
only for matching; we do not validate it as a hardware-token serial
(AWS itself doesn’t either at the protocol level — the serial is
a free-form string a sysadmin types into IAM).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for MfaSecret
impl<'de> Deserialize<'de> for MfaSecret
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
impl Eq for MfaSecret
impl StructuralPartialEq for MfaSecret
Auto Trait Implementations§
impl Freeze for MfaSecret
impl RefUnwindSafe for MfaSecret
impl Send for MfaSecret
impl Sync for MfaSecret
impl Unpin for MfaSecret
impl UnsafeUnpin for MfaSecret
impl UnwindSafe for MfaSecret
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.