26#ifndef ROUTER_SRC_REST_MRS_SRC_MRS_AUTHENTICATION_SASL_HANDLER_H_
27#define ROUTER_SRC_REST_MRS_SRC_MRS_AUTHENTICATION_SASL_HANDLER_H_
46namespace authentication {
52 using duration = std::chrono::steady_clock::duration;
55 using time_point = std::chrono::steady_clock::time_point;
119 const std::string &auth_data,
120 const bool is_json) = 0;
123 const std::string &auth_data,
124 const bool is_json) = 0;
Definition: variant_pointer.h:34
HttpUri::QueryElements Parameters
Definition: url.h:51
Definition: sasl_handler.h:72
seconds expires
Definition: sasl_handler.h:74
AuthenticationState sasl_state
Definition: sasl_handler.h:78
time_point acquired_at
Definition: sasl_handler.h:76
bool session_id_set
Definition: sasl_handler.h:75
Definition: sasl_handler.h:48
mrs::interface::QueryFactory QueryFactory
Definition: sasl_handler.h:62
helper::http::Url::Parameters UrlParameters
Definition: sasl_handler.h:60
std::chrono::steady_clock steady_clock
Definition: sasl_handler.h:54
std::chrono::steady_clock::duration duration
Definition: sasl_handler.h:52
const AuthApp & get_entry() const override
Definition: sasl_handler.cc:87
bool redirects(RequestContext &ctxt) const override
Definition: sasl_handler.cc:91
std::chrono::seconds seconds
Definition: sasl_handler.h:53
virtual SaslResult client_request_authentication_exchange(RequestContext &ctxt, Session *session, AuthUser *out_user)=0
::http::base::method::key_type HttpMethodType
Definition: sasl_handler.h:56
UserManager & get_user_manager() override
Definition: sasl_handler.h:126
std::set< UniversalId > get_service_ids() const override
Definition: sasl_handler.cc:83
virtual std::unique_ptr< SessionData > allocate_session_data()=0
virtual SaslResult client_response(RequestContext &ctxt, Session *session, AuthUser *out_user, const std::string &auth_data, const bool is_json)=0
UniversalId get_id() const override
Definition: sasl_handler.cc:89
SaslData get_authorize_data(RequestContext &ctxt)
Definition: sasl_handler.cc:132
virtual AuthenticationState get_authentication_state(const UrlParameters ¶meters, const bool has_auth_data)
Definition: sasl_handler.cc:114
SaslHandler(const AuthApp &entry, QueryFactory *qf)
Definition: sasl_handler.cc:77
bool authorize(RequestContext &ctxt, const SessionPtr &session, AuthUser *out_user) override
Definition: sasl_handler.cc:160
AuthApp entry_
Definition: sasl_handler.h:130
virtual SaslResult client_initial_response(RequestContext &ctxt, Session *session, AuthUser *out_user, const std::string &auth_data, const bool is_json)=0
UserManager um_
Definition: sasl_handler.h:131
AuthenticationState
Definition: sasl_handler.h:65
@ AuthenticationStateInvalid
Definition: sasl_handler.h:69
@ AuthenticationStateExchange
Definition: sasl_handler.h:66
@ AuthenticationStateInitialResponse
Definition: sasl_handler.h:67
@ AuthenticationStateResponse
Definition: sasl_handler.h:68
std::chrono::steady_clock::time_point time_point
Definition: sasl_handler.h:55
Definition: session_manager.h:66
Definition: session_manager.h:64
Definition: session_manager.h:48
Definition: authorize_handler.h:53
mrs::database::entry::AuthUser AuthUser
Definition: authorize_handler.h:56
http::SessionManager::SessionPtr SessionPtr
Definition: authorize_handler.h:60
mrs::database::entry::AuthApp AuthApp
Definition: authorize_handler.h:57
rest::RequestContext RequestContext
Definition: authorize_handler.h:58
Definition: query_factory.h:55
Definition: user_manager.h:41
mrs::rest::Handler::HttpResult HttpResult
Definition: handler_content_file.cc:43
int key_type
Definition: method.h:38
mrs::database::entry::AuthApp AuthApp
Definition: oauth2_handler.cc:58
std::chrono::seconds seconds
Definition: authorize_manager.cc:69
Definition: authorize_manager.h:48
mrs::database::entry::UniversalId UniversalId
Definition: universal_id.h:33
Definition: completion_hash.h:35
Definition: sasl_handler.h:105
AuthenticationState state
Definition: sasl_handler.h:106
bool is_json
Definition: sasl_handler.h:108
std::string auth_data
Definition: sasl_handler.h:107
Definition: sasl_handler.h:93
SaslResult(HttpResult result)
Definition: sasl_handler.h:98
Type response_type
Definition: sasl_handler.h:101
HttpResult http_result
Definition: sasl_handler.h:102
Type
Definition: sasl_handler.h:94
@ SaslOk
Definition: sasl_handler.h:94
@ SaslHttpStatusCode
Definition: sasl_handler.h:94
@ SaslChallanage
Definition: sasl_handler.h:94
SaslResult()
Definition: sasl_handler.h:96
Definition: http_result.h:37
Definition: request_context.h:47