MySQL 9.3.0
Source Code Documentation
mrs::authentication::ScramHandler Class Reference

#include <scram_handler.h>

Inheritance diagram for mrs::authentication::ScramHandler:
[legend]

Public Member Functions

 ScramHandler (const AuthApp &entry, const std::string &random_data, QueryFactory *qf, SessionManager *session_manager)
 
const std::string & get_handler_name () const override
 
bool redirects (RequestContext &ctxt) const override
 
std::optional< std::string > get_session_id_from_request_data (RequestContext &) override
 
std::unique_ptr< SessionDataallocate_session_data () override
 
SaslResult client_request_authentication_exchange (RequestContext &ctxt, Session *session, AuthUser *out_user) override
 
SaslResult client_response (RequestContext &ctxt, Session *session, AuthUser *out_user, const std::string &auth_data, const bool is_json) override
 
SaslResult client_initial_response (RequestContext &ctxt, Session *session, AuthUser *out_user, const std::string &auth_data, const bool is_json) override
 
- Public Member Functions inherited from mrs::authentication::SaslHandler
 SaslHandler (const AuthApp &entry, QueryFactory *qf)
 
const AuthAppget_entry () const override
 
std::set< UniversalIdget_service_ids () const override
 
UniversalId get_id () const override
 
bool authorize (RequestContext &ctxt, const SessionPtr &session, AuthUser *out_user) override
 
virtual AuthenticationState get_authentication_state (const UrlParameters &parameters, const bool has_auth_data)
 
UserManagerget_user_manager () override
 
- Public Member Functions inherited from mrs::interface::AuthorizeHandler
virtual ~AuthorizeHandler ()=default
 
virtual void pre_authorize_account (AuthorizeHandler *handler, const std::string &account)=0
 

Private Member Functions

std::string get_salt_for_the_user (const std::string &user_name) const
 

Private Attributes

const std::string random_data_
 
SessionManagersession_manager_
 

Additional Inherited Members

- Public Types inherited from mrs::authentication::SaslHandler
enum  AuthenticationState { AuthenticationStateExchange , AuthenticationStateInitialResponse , AuthenticationStateResponse , AuthenticationStateInvalid }
 
- Public Types inherited from mrs::interface::AuthorizeHandler
using SqlSessionCached = collector::MysqlCacheManager::CachedObject
 
using AuthUser = mrs::database::entry::AuthUser
 
using AuthApp = mrs::database::entry::AuthApp
 
using RequestContext = rest::RequestContext
 
using Session = http::SessionManager::Session
 
using SessionPtr = http::SessionManager::SessionPtr
 
using UserManager = mrs::users::UserManager
 
- Protected Types inherited from mrs::authentication::SaslHandler
using HttpResult = mrs::interface::HttpResult
 
using AuthApp = database::entry::AuthApp
 
using duration = std::chrono::steady_clock::duration
 
using seconds = std::chrono::seconds
 
using steady_clock = std::chrono::steady_clock
 
using time_point = std::chrono::steady_clock::time_point
 
using HttpMethodType = ::http::base::method::key_type
 
using UserManager = mrs::users::UserManager
 
using SessionManager = mrs::http::SessionManager
 
using VariantPointer = helper::VariantPointer
 
using UrlParameters = helper::http::Url::Parameters
 
using SessionData = http::SessionManager::Session::SessionData
 
using QueryFactory = mrs::interface::QueryFactory
 
- Protected Member Functions inherited from mrs::authentication::SaslHandler
SaslData get_authorize_data (RequestContext &ctxt)
 
- Protected Attributes inherited from mrs::authentication::SaslHandler
AuthApp entry_
 
UserManager um_
 

Constructor & Destructor Documentation

◆ ScramHandler()

mrs::authentication::ScramHandler::ScramHandler ( const AuthApp entry,
const std::string &  random_data,
QueryFactory qf,
SessionManager session_manager 
)

Member Function Documentation

◆ allocate_session_data()

std::unique_ptr< ScramHandler::SessionData > mrs::authentication::ScramHandler::allocate_session_data ( )
overridevirtual

◆ client_initial_response()

SaslResult mrs::authentication::ScramHandler::client_initial_response ( RequestContext ctxt,
Session session,
AuthUser out_user,
const std::string &  auth_data,
const bool  is_json 
)
overridevirtual

◆ client_request_authentication_exchange()

SaslResult mrs::authentication::ScramHandler::client_request_authentication_exchange ( RequestContext ctxt,
Session session,
AuthUser out_user 
)
overridevirtual

◆ client_response()

SaslResult mrs::authentication::ScramHandler::client_response ( RequestContext ctxt,
Session session,
AuthUser out_user,
const std::string &  auth_data,
const bool  is_json 
)
overridevirtual

◆ get_handler_name()

const std::string & mrs::authentication::ScramHandler::get_handler_name ( ) const
overridevirtual

◆ get_salt_for_the_user()

std::string mrs::authentication::ScramHandler::get_salt_for_the_user ( const std::string &  user_name) const
private

◆ get_session_id_from_request_data()

std::optional< std::string > mrs::authentication::ScramHandler::get_session_id_from_request_data ( RequestContext ctxt)
overridevirtual

◆ redirects()

bool mrs::authentication::ScramHandler::redirects ( RequestContext ctxt) const
overridevirtual

Reimplemented from mrs::authentication::SaslHandler.

Member Data Documentation

◆ random_data_

const std::string mrs::authentication::ScramHandler::random_data_
private

◆ session_manager_

SessionManager* mrs::authentication::ScramHandler::session_manager_
private

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