userver: server::handlers::auth::digest::AuthCheckerBase Class Reference
Loading...
Searching...
No Matches
server::handlers::auth::digest::AuthCheckerBase Class Referenceabstract

Base class for digest authentication checkers. Implements a digest-authentication logic. More...

#include <userver/server/handlers/auth/digest/auth_checker_base.hpp>

+ Inheritance diagram for server::handlers::auth::digest::AuthCheckerBase:
+ Collaboration diagram for server::handlers::auth::digest::AuthCheckerBase:

Public Member Functions

 AuthCheckerBase (const AuthCheckerSettings &digest_settings, std::string &&realm)
 
 AuthCheckerBase (const AuthCheckerBase &)=delete
 
 AuthCheckerBase (AuthCheckerBase &&)=delete
 
AuthCheckerBaseoperator= (const AuthCheckerBase &)=delete
 
AuthCheckerBaseoperator= (AuthCheckerBase &&)=delete
 
AuthCheckResult CheckAuth (const http::HttpRequest &request, request::RequestContext &request_context) const final
 The main checking function that is called for each request.
 
bool SupportsUserAuth () const noexcept override
 
virtual std::optional< UserDataFetchUserData (const std::string &username) const =0
 
virtual void SetUserData (const std::string &username, const std::string &nonce, std::int64_t nonce_count, TimePoint nonce_creation_time) const =0
 Sets user authentication data to storage.
 
virtual void PushUnnamedNonce (std::string nonce) const =0
 Pushes "nonce" not tied to username to "Nonce Pool".
 
virtual std::optional< TimePoint > GetUnnamedNonceCreationTime (const std::string &nonce) const =0
 Returns "nonce" creation time from "Nonce Pool" if exists.
 

Additional Inherited Members

- Protected Member Functions inherited from server::handlers::auth::AuthCheckerBase
void SetUserAuthInfo (server::request::RequestContext &request_context, server::auth::UserAuthInfo &&info) const
 

Detailed Description

Base class for digest authentication checkers. Implements a digest-authentication logic.

Examples
samples/digest_auth_service/auth_digest.cpp.

Definition at line 67 of file auth_checker_base.hpp.

Constructor & Destructor Documentation

◆ AuthCheckerBase()

server::handlers::auth::digest::AuthCheckerBase::AuthCheckerBase ( const AuthCheckerSettings digest_settings,
std::string &&  realm 
)

Assepts digest-authentication settings from server::handlers::auth::digest::AuthCheckerSettingsComponent and "realm" from handler config in static_config.yaml.

◆ ~AuthCheckerBase()

server::handlers::auth::digest::AuthCheckerBase::~AuthCheckerBase ( )
overridevirtual

Member Function Documentation

◆ CheckAuth()

AuthCheckResult server::handlers::auth::digest::AuthCheckerBase::CheckAuth ( const http::HttpRequest request,
request::RequestContext request_context 
) const
finalvirtual

The main checking function that is called for each request.

Implements server::handlers::auth::AuthCheckerBase.

◆ FetchUserData()

virtual std::optional< UserData > server::handlers::auth::digest::AuthCheckerBase::FetchUserData ( const std::string &  username) const
pure virtual

The implementation should return std::nullopt if the user is not registered. If the user is registered, but he is not in storage, the implementation can create him with arbitrary data.

Implemented in server::handlers::auth::digest::AuthStandaloneCheckerBase.

◆ GetUnnamedNonceCreationTime()

virtual std::optional< TimePoint > server::handlers::auth::digest::AuthCheckerBase::GetUnnamedNonceCreationTime ( const std::string &  nonce) const
pure virtual

Returns "nonce" creation time from "Nonce Pool" if exists.

Implemented in server::handlers::auth::digest::AuthStandaloneCheckerBase.

◆ PushUnnamedNonce()

virtual void server::handlers::auth::digest::AuthCheckerBase::PushUnnamedNonce ( std::string  nonce) const
pure virtual

Pushes "nonce" not tied to username to "Nonce Pool".

Implemented in server::handlers::auth::digest::AuthStandaloneCheckerBase.

◆ SetUserData()

virtual void server::handlers::auth::digest::AuthCheckerBase::SetUserData ( const std::string &  username,
const std::string &  nonce,
std::int64_t  nonce_count,
TimePoint  nonce_creation_time 
) const
pure virtual

Sets user authentication data to storage.

Implemented in server::handlers::auth::digest::AuthStandaloneCheckerBase.

◆ SupportsUserAuth()

bool server::handlers::auth::digest::AuthCheckerBase::SupportsUserAuth ( ) const
inlineoverridevirtualnoexcept

Returns "true" if the checker is allowed to write authentication information about the user to the RequestContext.

Implements server::handlers::auth::AuthCheckerBase.

Reimplemented in server::handlers::auth::digest::AuthStandaloneCheckerBase.

Definition at line 89 of file auth_checker_base.hpp.


The documentation for this class was generated from the following file: