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:74
 
Definition: session_manager.h:72
 
Definition: session_manager.h:52
 
Definition: authorize_handler.h:53
 
mrs::database::entry::AuthUser AuthUser
Definition: authorize_handler.h:56
 
http::SessionManager::SessionPtr SessionPtr
Definition: authorize_handler.h:61
 
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:68
 
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