MySQL
9.3.0
Source Code Documentation
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Concepts
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Related Functions
:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Concepts
auth_handler_factory.h
Go to the documentation of this file.
1
/*
2
Copyright (c) 2021, 2025, Oracle and/or its affiliates.
3
4
This program is free software; you can redistribute it and/or modify
5
it under the terms of the GNU General Public License, version 2.0,
6
as published by the Free Software Foundation.
7
8
This program is designed to work with certain software (including
9
but not limited to OpenSSL) that is licensed under separate terms,
10
as designated in a particular file or component or in included license
11
documentation. The authors of MySQL hereby grant you an additional
12
permission to link the program and your derivative works with the
13
separately licensed software that they have either included with
14
the program or referenced in the documentation.
15
16
This program is distributed in the hope that it will be useful,
17
but WITHOUT ANY WARRANTY; without even the implied warranty of
18
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
GNU General Public License for more details.
20
21
You should have received a copy of the GNU General Public License
22
along with this program; if not, write to the Free Software
23
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24
*/
25
26
#ifndef ROUTER_SRC_REST_MRS_SRC_MRS_INTERFACE_AUTH_HANDLER_FACTORY_H_
27
#define ROUTER_SRC_REST_MRS_SRC_MRS_INTERFACE_AUTH_HANDLER_FACTORY_H_
28
29
#include <memory>
30
31
#include "
collector/mysql_cache_manager.h
"
32
#include "
mrs/authentication/authorize_handler_callbacks.h
"
33
#include "
mrs/database/entry/auth_app.h
"
34
#include "
mrs/interface/authorize_handler.h
"
35
36
namespace
mrs
{
37
namespace
interface {
38
39
class
AuthHandlerFactory
{
40
public
:
41
using
MysqlCacheManager
=
collector::MysqlCacheManager
;
42
using
AuthApp
=
mrs::database::entry::AuthApp
;
43
using
AuthHandlerPtr
= std::shared_ptr<AuthorizeHandler>;
44
using
AuthorizeHandlerCallbakcs
=
helper::AuthorizeHandlerCallbakcs
;
45
using
SessionManager
=
http::SessionManager
;
46
47
public
:
48
virtual
~AuthHandlerFactory
() =
default
;
49
50
virtual
AuthHandlerPtr
create_basic_auth_handler
(
51
AuthorizeHandlerCallbakcs
*
cb
,
const
AuthApp
&
entry
,
52
MysqlCacheManager
*cache_manager)
const
= 0;
53
virtual
AuthHandlerPtr
create_facebook_auth_handler
(
54
AuthorizeHandlerCallbakcs
*
cb
,
const
AuthApp
&
entry
)
const
= 0;
55
virtual
AuthHandlerPtr
create_google_auth_handler
(
56
AuthorizeHandlerCallbakcs
*
cb
,
const
AuthApp
&
entry
)
const
= 0;
57
virtual
AuthHandlerPtr
create_oidc_auth_handler
(
58
AuthorizeHandlerCallbakcs
*
cb
,
const
AuthApp
&
entry
)
const
= 0;
59
virtual
AuthHandlerPtr
create_scram_auth_handler
(
60
AuthorizeHandlerCallbakcs
*
cb
,
const
AuthApp
&
entry
,
61
const
std::string &rd,
SessionManager
*session_manager)
const
= 0;
62
};
63
64
}
// namespace interface
65
}
// namespace mrs
66
67
#endif
// ROUTER_SRC_REST_MRS_SRC_MRS_INTERFACE_AUTH_HANDLER_FACTORY_H_
auth_app.h
authorize_handler.h
authorize_handler_callbacks.h
collector::MysqlCacheManager
Definition:
mysql_cache_manager.h:87
helper::AuthorizeHandlerCallbakcs
Definition:
authorize_handler_callbacks.h:35
mrs::http::SessionManager
Definition:
session_manager.h:48
mrs::interface::AuthHandlerFactory
Definition:
auth_handler_factory.h:39
mrs::interface::AuthHandlerFactory::~AuthHandlerFactory
virtual ~AuthHandlerFactory()=default
mrs::interface::AuthHandlerFactory::AuthApp
mrs::database::entry::AuthApp AuthApp
Definition:
auth_handler_factory.h:42
mrs::interface::AuthHandlerFactory::create_facebook_auth_handler
virtual AuthHandlerPtr create_facebook_auth_handler(AuthorizeHandlerCallbakcs *cb, const AuthApp &entry) const =0
mrs::interface::AuthHandlerFactory::create_basic_auth_handler
virtual AuthHandlerPtr create_basic_auth_handler(AuthorizeHandlerCallbakcs *cb, const AuthApp &entry, MysqlCacheManager *cache_manager) const =0
mrs::interface::AuthHandlerFactory::create_scram_auth_handler
virtual AuthHandlerPtr create_scram_auth_handler(AuthorizeHandlerCallbakcs *cb, const AuthApp &entry, const std::string &rd, SessionManager *session_manager) const =0
mrs::interface::AuthHandlerFactory::create_google_auth_handler
virtual AuthHandlerPtr create_google_auth_handler(AuthorizeHandlerCallbakcs *cb, const AuthApp &entry) const =0
mrs::interface::AuthHandlerFactory::create_oidc_auth_handler
virtual AuthHandlerPtr create_oidc_auth_handler(AuthorizeHandlerCallbakcs *cb, const AuthApp &entry) const =0
mrs::interface::AuthHandlerFactory::AuthHandlerPtr
std::shared_ptr< AuthorizeHandler > AuthHandlerPtr
Definition:
auth_handler_factory.h:43
mysql_cache_manager.h
connection_control::cb
static bool cb(unsigned long long new_value)
Definition:
option_usage.cc:45
mrs::authentication::AuthApp
mrs::database::entry::AuthApp AuthApp
Definition:
oauth2_handler.cc:58
mrs::endpoint::handler::MysqlCacheManager
collector::MysqlCacheManager MysqlCacheManager
Definition:
handler_db_object_table.cc:266
mrs
Definition:
authorize_manager.h:48
_entry
Definition:
completion_hash.h:35
router
src
mysql_rest_service
include
mrs
interface
auth_handler_factory.h
Generated by
1.9.2