#[non_exhaustive]pub enum Credentials {
Basic {
username: String,
password: String,
},
Digest {
username: String,
password: String,
},
Bearer {
token: String,
},
}Expand description
Credentials for one of the supported auth schemes.
Basic and Digest both carry a username/password and are treated
identically by crate::respond/crate::Authenticator: which wire
scheme is actually used is decided by the server’s challenge, not by which
variant was constructed (RFC 7235 content negotiation — a server may offer
either, or both, in WWW-Authenticate). Use Credentials::new for the
common password case; construct Basic/Digest directly only when the
caller must pin one scheme.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Basic
Username/password for HTTP Basic auth (RFC 7617) — or RTSP’s reuse of it (RFC 2326 §14/§16).
Digest
Username/password for HTTP Digest auth (RFC 7616) — or RTSP’s reuse of it (RFC 2326 §14).
Bearer
A bearer token (RFC 6750) — sent verbatim as Authorization: Bearer <token> with no challenge round-trip required.
Implementations§
Source§impl Credentials
impl Credentials
Sourcepub fn new(
username: impl Into<String>,
password: impl Into<String>,
) -> Credentials
pub fn new( username: impl Into<String>, password: impl Into<String>, ) -> Credentials
Convenience constructor for the common password-based case.
Does not commit to Basic or Digest: crate::respond/
crate::Authenticator::from_challenge answer whichever scheme the
server’s WWW-Authenticate challenge advertises. Internally this
builds a Digest value (the superset — http-auth’s challenge
parser inspects the challenge itself, not this variant, to pick the
wire scheme), so new("u", "p") behaves identically to a
hand-constructed Basic/Digest with the same username/password.
Sourcepub fn bearer(token: impl Into<String>) -> Credentials
pub fn bearer(token: impl Into<String>) -> Credentials
Constructs a bearer-token credential (RFC 6750).
Trait Implementations§
Source§impl Clone for Credentials
impl Clone for Credentials
Source§fn clone(&self) -> Credentials
fn clone(&self) -> Credentials
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Credentials
Manual Debug (rather than #[derive(Debug)]): every scheme carries a
secret (password/token) that must never render verbatim. Usernames are
not secret and are shown as-is to keep the output useful for diagnostics.
impl Debug for Credentials
Manual Debug (rather than #[derive(Debug)]): every scheme carries a
secret (password/token) that must never render verbatim. Usernames are
not secret and are shown as-is to keep the output useful for diagnostics.