#include <authorize_manager.h>
 | 
|   | AuthorizeManager (const EndpointConfigurationPtr &configuration, collector::MysqlCacheManager *cache_manager, const std::string &jwt_secret, QueryFactory *query_factory, AuthHandlerFactoryPtr factory) | 
|   | 
| void  | update (const Entries &entries) override | 
|   | 
| void  | configure (const std::string &options) override | 
|   | 
| bool  | unauthorize (const SessionPtr &session, http::Cookie *cookies) override | 
|   | 
| bool  | authorize (const std::string &proto, const std::string &host, ServiceId id, bool passthrough_db_user, rest::RequestContext &ctxt, AuthUser *out_user) override | 
|   | 
| bool  | is_authorized (ServiceId id, rest::RequestContext &ctxt, AuthUser *user) override | 
|   | 
| std::string  | get_jwt_token (UniversalId service_id, const SessionPtr &) override | 
|   | 
| void  | discard_current_session (ServiceId id, http::Cookie *cookies) override | 
|   | 
| users::UserManager *  | get_user_manager () override | 
|   | 
| collector::MysqlCacheManager *  | get_cache () override | 
|   | 
| Container  | get_supported_authentication_applications (ServiceId id) override | 
|   | 
| void  | clear () override | 
|   | 
| void  | update_users_cache (const ChangedUsersIds &changed_users_ids) override | 
|   | 
| void  | collect_garbage () | 
|   | 
| virtual  | ~AuthorizeManager ()=default | 
|   | 
 | 
| AuthorizeHandlerPtr  | create_authentication_application (const AuthApp &entry) | 
|   | 
| Container  | get_handlers_by_service_id (const UniversalId service_id) | 
|   | 
| SessionPtr  | get_session_id_from_cookie (const UniversalId &service_id, http::Cookie &cookies) | 
|   | 
| std::vector< std::pair< std::string, SessionId > >  | get_session_ids_cookies (const UniversalId &service_id, http::Cookie *cookies) | 
|   | 
| std::vector< SessionId >  | get_session_ids_from_cookies (const UniversalId &service_id, http::Cookie *cookies) | 
|   | 
| bool  | get_handler_by_id (const UniversalId auth_id, Container::iterator *it) | 
|   | 
| bool  | get_handler_by_id (const UniversalId auth_id, AuthorizeHandlerPtr &out_it) | 
|   | 
| void  | remove_unreferenced_service_authorizators () | 
|   | 
| AuthorizeHandlerPtr  | choose_authentication_handler (rest::RequestContext &ctxt, ServiceId service_id, const std::optional< std::string > &app_name) | 
|   | 
| SessionPtr  | authorize_jwt (const UniversalId service_id, const helper::Jwt &jwt) | 
|   | Validate the JWT token, and get/create session for it.  More...
  | 
|   | 
| void  | pre_authorize_account (interface::AuthorizeHandler *handler, const std::string &account) override | 
|   | 
  Private Member Functions inherited from helper::AuthorizeHandlerCallbakcs | 
| virtual  | ~AuthorizeHandlerCallbakcs ()=default | 
|   | 
◆ AuthHandler
◆ AuthHandlerFactoryPtr
◆ Container
◆ EndpointConfiguration
◆ EndpointConfigurationPtr
◆ MapOfServices
◆ minutes
◆ QueryFactory
◆ RestHandler
◆ RestHandlerPtr
◆ ServiceAuthorizePtr
◆ steady_clock
◆ AuthorizeManager()
◆ authorize()
  
  
      
        
          | bool mrs::authentication::AuthorizeManager::authorize  | 
          ( | 
          const std::string &  | 
          proto,  | 
         
        
           | 
           | 
          const std::string &  | 
          host,  | 
         
        
           | 
           | 
          ServiceId  | 
          id,  | 
         
        
           | 
           | 
          bool  | 
          passthrough_db_user,  | 
         
        
           | 
           | 
          rest::RequestContext &  | 
          ctxt,  | 
         
        
           | 
           | 
          AuthUser *  | 
          out_user  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ authorize_jwt()
Validate the JWT token, and get/create session for it. 
- Returns
 - session pointer 
 
 
 
◆ choose_authentication_handler()
◆ clear()
  
  
      
        
          | void mrs::authentication::AuthorizeManager::clear  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ collect_garbage()
      
        
          | void mrs::authentication::AuthorizeManager::collect_garbage  | 
          ( | 
           | ) | 
           | 
        
      
 
 
◆ configure()
  
  
      
        
          | void mrs::authentication::AuthorizeManager::configure  | 
          ( | 
          const std::string &  | 
          options | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ create_authentication_application()
◆ discard_current_session()
  
  
      
        
          | void mrs::authentication::AuthorizeManager::discard_current_session  | 
          ( | 
          ServiceId  | 
          id,  | 
         
        
           | 
           | 
          http::Cookie *  | 
          cookies  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ get_cache()
◆ get_handler_by_id() [1/2]
◆ get_handler_by_id() [2/2]
  
  
      
        
          | bool mrs::authentication::AuthorizeManager::get_handler_by_id  | 
          ( | 
          const UniversalId  | 
          auth_id,  | 
         
        
           | 
           | 
          Container::iterator *  | 
          it  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ get_handlers_by_service_id()
◆ get_jwt_token()
  
  
      
        
          | std::string mrs::authentication::AuthorizeManager::get_jwt_token  | 
          ( | 
          UniversalId  | 
          service_id,  | 
         
        
           | 
           | 
          const SessionPtr &  | 
          s  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ get_session_id_from_cookie()
◆ get_session_ids_cookies()
  
  
      
        
          | std::vector< std::pair< std::string, SessionId > > mrs::authentication::AuthorizeManager::get_session_ids_cookies  | 
          ( | 
          const UniversalId &  | 
          service_id,  | 
         
        
           | 
           | 
          http::Cookie *  | 
          cookies  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ get_session_ids_from_cookies()
◆ get_supported_authentication_applications()
◆ get_user_manager()
◆ is_authorized()
◆ pre_authorize_account()
  
  
      
        
          | void mrs::authentication::AuthorizeManager::pre_authorize_account  | 
          ( | 
          interface::AuthorizeHandler *  | 
          handler,  | 
         
        
           | 
           | 
          const std::string &  | 
          account  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
overrideprivatevirtual   | 
  
 
 
◆ remove_unreferenced_service_authorizators()
  
  
      
        
          | void mrs::authentication::AuthorizeManager::remove_unreferenced_service_authorizators  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
private   | 
  
 
 
◆ unauthorize()
  
  
      
        
          | bool mrs::authentication::AuthorizeManager::unauthorize  | 
          ( | 
          const SessionPtr &  | 
          session,  | 
         
        
           | 
           | 
          http::Cookie *  | 
          cookies  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ update()
  
  
      
        
          | void mrs::authentication::AuthorizeManager::update  | 
          ( | 
          const Entries &  | 
          entries | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ update_users_cache()
  
  
      
        
          | void mrs::authentication::AuthorizeManager::update_users_cache  | 
          ( | 
          const ChangedUsersIds &  | 
          changed_users_ids | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ accounts_rate_
  
  
      
        
          | RateControlFor<std::string> mrs::authentication::AuthorizeManager::accounts_rate_ | 
         
       
   | 
  
private   | 
  
 
 
◆ cache_manager_
◆ configuration_
◆ container_
  
  
      
        
          | Container mrs::authentication::AuthorizeManager::container_ | 
         
       
   | 
  
private   | 
  
 
 
◆ factory_
◆ hosts_rate_
  
  
      
        
          | RateControlFor<std::string> mrs::authentication::AuthorizeManager::hosts_rate_ | 
         
       
   | 
  
private   | 
  
 
 
◆ jwt_expire_timeout
  
  
      
        
          | minutes mrs::authentication::AuthorizeManager::jwt_expire_timeout | 
         
       
   | 
  
private   | 
  
 
 
◆ jwt_secret_
  
  
      
        
          | std::string mrs::authentication::AuthorizeManager::jwt_secret_ | 
         
       
   | 
  
private   | 
  
 
 
◆ last_garbage_collection_
  
  
      
        
          | steady_clock::time_point mrs::authentication::AuthorizeManager::last_garbage_collection_ {} | 
         
       
   | 
  
private   | 
  
 
 
◆ passthrough_db_user_session_pool_size_
  
  
      
        
          | uint32_t mrs::authentication::AuthorizeManager::passthrough_db_user_session_pool_size_ {0} | 
         
       
   | 
  
private   | 
  
 
 
◆ random_data_
  
  
      
        
          | const std::string mrs::authentication::AuthorizeManager::random_data_ | 
         
       
   | 
  
private   | 
  
 
 
◆ session_manager_
◆ user_manager_
The documentation for this class was generated from the following files: