MySQL 9.0.0
Source Code Documentation
I_multi_factor_auth Class Referenceabstract

An interface to access information about Multi factor authentication methods. More...

#include <sql_mfa.h>

Inheritance diagram for I_multi_factor_auth:
[legend]

Public Member Functions

virtual ~I_multi_factor_auth ()=default
 
virtual bool is_alter_allowed (THD *, LEX_USER *)
 Helper methods to verify and update ALTER USER sql when altering Multi factor authentication methods. More...
 
virtual void alter_mfa (I_multi_factor_auth *)
 
virtual bool validate_plugins_in_auth_chain (THD *thd, const authentication_policy::Factors &policy_factors)=0
 Helper method to validate Multi factor authentication methods. More...
 
virtual bool validate_against_authentication_policy (THD *, const authentication_policy::Factors &)
 Helper method to validate Multi factor authentication methods are correct compared to authentication policy. More...
 
virtual bool update_user_attributes ()=0
 method to add/delete Multi factor authentication methods in user_attributes column. More...
 
virtual void add_factor (I_multi_factor_auth *m)
 
virtual bool serialize (Json_array &mfa_arr)=0
 Helper methods to convert this interface into a valid JSON object and vice versa. More...
 
virtual bool deserialize (uint f, Json_dom *mfa_dom)=0
 
virtual bool init_registration (THD *, uint)=0
 Helper methods to do registration step. More...
 
virtual bool finish_registration (THD *, LEX_USER *, uint)=0
 
virtual bool is_passwordless ()=0
 
virtual void get_info_for_query_rewrite (THD *, LEX_USER *)=0
 Fill needed info in LEX_USER::mfa_list for query rewrite. More...
 
virtual void get_generated_passwords (Userhostpassword_list &gp, const char *u, const char *h)=0
 Fill in generated passwords from respective Multi factor authentication methods. More...
 
virtual void get_server_challenge_info (server_challenge_info_vector &sc)=0
 Fill in server challenge generated as part of initiate registration step. More...
 
Multi_factor_auth_listget_multi_factor_auth_list ()
 Get methods. More...
 
Multi_factor_auth_infoget_multi_factor_auth_info ()
 

Detailed Description

An interface to access information about Multi factor authentication methods.

This interface represents a chain of authentication plugins for a given user account.

Constructor & Destructor Documentation

◆ ~I_multi_factor_auth()

virtual I_multi_factor_auth::~I_multi_factor_auth ( )
virtualdefault

Member Function Documentation

◆ add_factor()

virtual void I_multi_factor_auth::add_factor ( I_multi_factor_auth m)
inlinevirtual

Reimplemented in Multi_factor_auth_list.

◆ alter_mfa()

virtual void I_multi_factor_auth::alter_mfa ( I_multi_factor_auth )
inlinevirtual

Reimplemented in Multi_factor_auth_list.

◆ deserialize()

virtual bool I_multi_factor_auth::deserialize ( uint  f,
Json_dom mfa_dom 
)
pure virtual

◆ finish_registration()

virtual bool I_multi_factor_auth::finish_registration ( THD ,
LEX_USER ,
uint   
)
pure virtual

◆ get_generated_passwords()

virtual void I_multi_factor_auth::get_generated_passwords ( Userhostpassword_list gp,
const char *  u,
const char *  h 
)
pure virtual

Fill in generated passwords from respective Multi factor authentication methods.

Implemented in Multi_factor_auth_list, and Multi_factor_auth_info.

◆ get_info_for_query_rewrite()

virtual void I_multi_factor_auth::get_info_for_query_rewrite ( THD ,
LEX_USER  
)
pure virtual

Fill needed info in LEX_USER::mfa_list for query rewrite.

Implemented in Multi_factor_auth_list, and Multi_factor_auth_info.

◆ get_multi_factor_auth_info()

Multi_factor_auth_info * I_multi_factor_auth::get_multi_factor_auth_info ( )
inline

◆ get_multi_factor_auth_list()

Multi_factor_auth_list * I_multi_factor_auth::get_multi_factor_auth_list ( )
inline

Get methods.

◆ get_server_challenge_info()

virtual void I_multi_factor_auth::get_server_challenge_info ( server_challenge_info_vector sc)
pure virtual

Fill in server challenge generated as part of initiate registration step.

Implemented in Multi_factor_auth_list, and Multi_factor_auth_info.

◆ init_registration()

virtual bool I_multi_factor_auth::init_registration ( THD ,
uint   
)
pure virtual

Helper methods to do registration step.

Implemented in Multi_factor_auth_list, and Multi_factor_auth_info.

◆ is_alter_allowed()

virtual bool I_multi_factor_auth::is_alter_allowed ( THD ,
LEX_USER  
)
inlinevirtual

Helper methods to verify and update ALTER USER sql when altering Multi factor authentication methods.

Reimplemented in Multi_factor_auth_list.

◆ is_passwordless()

virtual bool I_multi_factor_auth::is_passwordless ( )
pure virtual

◆ serialize()

virtual bool I_multi_factor_auth::serialize ( Json_array mfa_arr)
pure virtual

Helper methods to convert this interface into a valid JSON object and vice versa.

Implemented in Multi_factor_auth_list, and Multi_factor_auth_info.

◆ update_user_attributes()

virtual bool I_multi_factor_auth::update_user_attributes ( )
pure virtual

method to add/delete Multi factor authentication methods in user_attributes column.

Implemented in Multi_factor_auth_list, and Multi_factor_auth_info.

◆ validate_against_authentication_policy()

virtual bool I_multi_factor_auth::validate_against_authentication_policy ( THD ,
const authentication_policy::Factors  
)
inlinevirtual

Helper method to validate Multi factor authentication methods are correct compared to authentication policy.

Reimplemented in Multi_factor_auth_list.

◆ validate_plugins_in_auth_chain()

virtual bool I_multi_factor_auth::validate_plugins_in_auth_chain ( THD thd,
const authentication_policy::Factors policy_factors 
)
pure virtual

Helper method to validate Multi factor authentication methods.

Implemented in Multi_factor_auth_list, and Multi_factor_auth_info.


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