Struct digest_auth::AuthorizationHeader
source · pub struct AuthorizationHeader {
pub realm: String,
pub nonce: String,
pub opaque: Option<String>,
pub userhash: bool,
pub algorithm: Algorithm,
pub response: String,
pub username: String,
pub uri: String,
pub qop: Option<Qop>,
pub cnonce: Option<String>,
pub nc: u32,
}
Expand description
Header sent back to the server, including password hashes.
This can be obtained by calling AuthorizationHeader::from_prompt()
,
or from the WwwAuthenticateHeader
prompt struct
with .respond()
Fields§
§realm: String
Authorization realm
nonce: String
Server nonce
opaque: Option<String>
Server opaque
userhash: bool
Flag that userhash was used
algorithm: Algorithm
Hash algorithm
response: String
Computed digest
username: String
Username or hash (owned because of the computed hash)
uri: String
Requested URI
qop: Option<Qop>
QOP chosen from the list offered by server, if any None in legacy compat mode (RFC 2069)
cnonce: Option<String>
Client nonce None in legacy compat mode (RFC 2069)
nc: u32
How many requests have been signed with this server nonce Not used in legacy compat mode (RFC 2069) - it’s still incremented though
Implementations§
source§impl AuthorizationHeader
impl AuthorizationHeader
sourcepub fn from_prompt(
prompt: &mut WwwAuthenticateHeader,
context: &AuthContext<'_>
) -> Result<AuthorizationHeader>
pub fn from_prompt( prompt: &mut WwwAuthenticateHeader, context: &AuthContext<'_> ) -> Result<AuthorizationHeader>
Construct using a parsed prompt header and an auth context, selecting suitable algorithm
options. The WwwAuthenticateHeader
struct contains a
nc
field that is incremented by this
method.
For subsequent requests, simply reuse the same WwwAuthenticateHeader
and - if the server supports nonce reuse - it will work automatically.
Errors
Fails if the source header is malformed so much that we can’t figure out a proper response (e.g. given but invalid QOP options)
sourcepub fn digest(&mut self, context: &AuthContext<'_>)
pub fn digest(&mut self, context: &AuthContext<'_>)
Build the response digest from Auth Context.
This function is used by client to fill the Authorization header. It can be used by server using a known password to replicate the hash and then compare “response”.
This function sets cnonce if it was None before, or reuses it.
Fields updated in the Authorization header:
- qop (if it was auth-int before but no body was given in context)
- cnonce (if it was None before)
- username copied from context
- response
sourcepub fn to_header_string(&self) -> String
pub fn to_header_string(&self) -> String
Produce a header string (also accessible through the Display trait)
Trait Implementations§
source§impl Clone for AuthorizationHeader
impl Clone for AuthorizationHeader
source§fn clone(&self) -> AuthorizationHeader
fn clone(&self) -> AuthorizationHeader
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for AuthorizationHeader
impl Debug for AuthorizationHeader
source§impl Display for AuthorizationHeader
impl Display for AuthorizationHeader
source§impl FromStr for AuthorizationHeader
impl FromStr for AuthorizationHeader
source§impl PartialEq<AuthorizationHeader> for AuthorizationHeader
impl PartialEq<AuthorizationHeader> for AuthorizationHeader
source§fn eq(&self, other: &AuthorizationHeader) -> bool
fn eq(&self, other: &AuthorizationHeader) -> bool
self
and other
values to be equal, and is used
by ==
.