class Poco::Net::HTTPDigestCredentials
Overview
This is a utility class for working with HTTP Digest Authentication in HTTPRequest objects. More…
#include <HTTPDigestCredentials.h> class HTTPDigestCredentials { public: // fields static const std::string SCHEME; // construction HTTPDigestCredentials(); HTTPDigestCredentials( const std::string& username, const std::string& password ); // methods void reset(); void setUsername(const std::string& username); const std::string& getUsername() const; void setPassword(const std::string& password); const std::string& getPassword() const; void authenticate( HTTPRequest& request, const HTTPResponse& response ); void authenticate( HTTPRequest& request, const HTTPAuthenticationParams& responseAuthParams ); void updateAuthInfo(HTTPRequest& request); void proxyAuthenticate( HTTPRequest& request, const HTTPResponse& response ); void proxyAuthenticate( HTTPRequest& request, const HTTPAuthenticationParams& responseAuthParams ); void updateProxyAuthInfo(HTTPRequest& request); bool verifyAuthInfo(const HTTPRequest& request) const; bool verifyAuthParams( const HTTPRequest& request, const HTTPAuthenticationParams& params ) const; static std::string createNonce(); };
Detailed Documentation
This is a utility class for working with HTTP Digest Authentication in HTTPRequest objects.
Note: currently, no qop or qop=auth is supported only.
Construction
HTTPDigestCredentials()
Creates an empty HTTPDigestCredentials object.
HTTPDigestCredentials( const std::string& username, const std::string& password )
Creates a HTTPDigestCredentials object with the given username and password.
Methods
void reset()
Resets the HTTPDigestCredentials object to a clean state.
void setUsername(const std::string& username)
Sets the username.
const std::string& getUsername() const
Returns the username.
void setPassword(const std::string& password)
Sets the password.
const std::string& getPassword() const
Returns the password.
void authenticate( HTTPRequest& request, const HTTPResponse& response )
Parses WWW-Authenticate header of the HTTPResponse, initializes internal state, and adds authentication information to the given HTTPRequest.
void authenticate( HTTPRequest& request, const HTTPAuthenticationParams& responseAuthParams )
Initializes internal state according to information from the HTTPAuthenticationParams of the response, and adds authentication information to the given HTTPRequest.
Throws InvalidArgumentException if HTTPAuthenticationParams is invalid or some required parameter is missing. Throws NotImplementedException in case of unsupported digest algorithm or quality of protection method.
void updateAuthInfo(HTTPRequest& request)
Updates internal state and adds authentication information to the given HTTPRequest.
void proxyAuthenticate( HTTPRequest& request, const HTTPResponse& response )
Parses Proxy-Authenticate header of the HTTPResponse, initializes internal state, and adds proxy authentication information to the given HTTPRequest.
void proxyAuthenticate( HTTPRequest& request, const HTTPAuthenticationParams& responseAuthParams )
Initializes internal state according to information from the HTTPAuthenticationParams of the response, and adds proxy authentication information to the given HTTPRequest.
Throws InvalidArgumentException if HTTPAuthenticationParams is invalid or some required parameter is missing. Throws NotImplementedException in case of unsupported digest algorithm or quality of protection method.
void updateProxyAuthInfo(HTTPRequest& request)
Updates internal state and adds proxy authentication information to the given HTTPRequest.
bool verifyAuthInfo(const HTTPRequest& request) const
Verifies the digest authentication information in the given HTTPRequest by recomputing the response and comparing it with what’s in the request.
Note: This method creates a HTTPAuthenticationParams object from the request and calls verifyAuthParams() with request and params.
bool verifyAuthParams( const HTTPRequest& request, const HTTPAuthenticationParams& params ) const
Verifies the digest authentication information in the given HTTPRequest and HTTPAuthenticationParams by recomputing the response and comparing it with what’s in the request.
static std::string createNonce()
Creates a random nonce string.