pub struct Authenticator { /* private fields */ }Expand description
Negotiates a challenge once, then answers every subsequent request in the
session (RFC 7235 WWW-Authenticate/Authorization; RFC 2326 §14 for
RTSP; RFC 6750 for Bearer).
Construct with Authenticator::from_challenge on the first 401/407,
then call Authenticator::authorization for every outgoing request —
including the immediate retry. Call from_challenge again if the server
re-challenges with a fresh nonce (stale=true) to pick it up.
Implementations§
Source§impl Authenticator
impl Authenticator
Sourcepub fn from_challenge(
www_authenticate: &str,
credentials: Credentials,
) -> Result<Authenticator, Error>
pub fn from_challenge( www_authenticate: &str, credentials: Credentials, ) -> Result<Authenticator, Error>
Builds an authenticator from a WWW-Authenticate challenge value and
the caller’s credentials.
For Credentials::Basic/Digest, the challenge is parsed by
http_auth, which itself decides the wire scheme (Basic or Digest)
from the challenge content — not from which Credentials variant was
passed in. For Credentials::Bearer, the challenge value is not
inspected: RFC 6750 needs no challenge round-trip, so the token is
used as-is.
Computes the Authorization header value for ctx.
For Basic/Digest this advances the Digest nonce count on every call
(RFC 7616 §3.3); for Bearer it always returns Bearer <token> (RFC
6750).