MySQL 9.3.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
mrs::authentication::Oauth2FacebookHandler Class Reference

#include <oauth2_facebook_handler.h>

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

Public Member Functions

 Oauth2FacebookHandler (const AuthApp &entry, QueryFactory *qf)
 
 ~Oauth2FacebookHandler () override
 
- Public Member Functions inherited from mrs::authentication::Oauth2Handler
 Oauth2Handler (const AuthApp &entry, QueryFactory *qf)
 
const AuthAppget_entry () const override
 
std::set< UniversalIdget_service_ids () const override
 
UniversalId get_id () const override
 
bool redirects (RequestContext &ctxt) const override
 
bool authorize (RequestContext &ctxt, const SessionPtr &session, AuthUser *out_user) override
 
std::optional< std::string > get_session_id_from_request_data (RequestContext &ctxt) override
 
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 Types

using SessionManager = http::SessionManager
 
using UserManager = users::UserManager
 
using SessionKeyType = std::string
 

Private Member Functions

const std::string & get_handler_name () const override
 
std::string get_url_direct_auth () const override
 
std::string get_url_location (GenericSessionData *data, Url *url) const override
 
std::string get_url_validation (GenericSessionData *data) const override
 
std::string get_body_access_token_request (GenericSessionData *session_data) const override
 
RequestHandlerPtr get_request_handler_access_token (GenericSessionData *session_data) override
 
RequestHandlerPtr get_request_handler_verify_account (Session *session, GenericSessionData *session_data) override
 

Additional Inherited Members

- Public Types inherited from mrs::authentication::Oauth2Handler
using RequestHandlerPtr = std::unique_ptr< RequestHandler >
 
- 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::Oauth2Handler
using AuthApp = mrs::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 Request = ::http::base::Request
 
using HttpUri = ::http::base::Uri
 
using UserManager = ::mrs::users::UserManager
 
using SessionManager = ::mrs::http::SessionManager
 
using VariantPointer = ::helper::VariantPointer
 
using Url = ::helper::http::Url
 
using QueryFactory = mrs::interface::QueryFactory
 
- Protected Member Functions inherited from mrs::authentication::Oauth2Handler
std::string get_cookie_session_id (Request *request) const
 
void set_cookie_session_id (Request *request, SessionManager::Session *session)
 
void new_session_start_login (RequestContext &ctxt, Session *session)
 
bool http_acquire_access_token (GenericSessionData *data)
 
bool http_verify_account (Session *session, GenericSessionData *data, SqlSessionCached *sql_session)
 
- Static Protected Member Functions inherited from mrs::authentication::Oauth2Handler
static bool send_http_request (HttpMethodType method, const std::string &url, const std::string &body, RequestHandler *request_handler=nullptr)
 
- Protected Attributes inherited from mrs::authentication::Oauth2Handler
AuthApp entry_
 
UserManager um_
 

Member Typedef Documentation

◆ SessionKeyType

◆ SessionManager

◆ UserManager

Constructor & Destructor Documentation

◆ Oauth2FacebookHandler()

mrs::authentication::Oauth2FacebookHandler::Oauth2FacebookHandler ( const AuthApp entry,
QueryFactory qf 
)

◆ ~Oauth2FacebookHandler()

mrs::authentication::Oauth2FacebookHandler::~Oauth2FacebookHandler ( )
override

Member Function Documentation

◆ get_body_access_token_request()

std::string mrs::authentication::Oauth2FacebookHandler::get_body_access_token_request ( GenericSessionData session_data) const
overrideprivatevirtual

◆ get_handler_name()

const std::string & mrs::authentication::Oauth2FacebookHandler::get_handler_name ( ) const
overrideprivatevirtual

◆ get_request_handler_access_token()

RequestHandlerPtr mrs::authentication::Oauth2FacebookHandler::get_request_handler_access_token ( GenericSessionData session_data)
overrideprivatevirtual

◆ get_request_handler_verify_account()

RequestHandlerPtr mrs::authentication::Oauth2FacebookHandler::get_request_handler_verify_account ( Session session,
GenericSessionData session_data 
)
overrideprivatevirtual

◆ get_url_direct_auth()

std::string mrs::authentication::Oauth2FacebookHandler::get_url_direct_auth ( ) const
overrideprivatevirtual

◆ get_url_location()

std::string mrs::authentication::Oauth2FacebookHandler::get_url_location ( GenericSessionData data,
Url url 
) const
overrideprivatevirtual

◆ get_url_validation()

std::string mrs::authentication::Oauth2FacebookHandler::get_url_validation ( GenericSessionData data) const
overrideprivatevirtual

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