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_AUTHENTICATION_AUTH_HANDLER_FACTORY_H_
27
#define ROUTER_SRC_REST_MRS_SRC_MRS_AUTHENTICATION_AUTH_HANDLER_FACTORY_H_
28
29
#include "
collector/mysql_cache_manager.h
"
30
#include "
mrs/database/entry/auth_app.h
"
31
#include "
mrs/http/session_manager.h
"
32
#include "
mrs/interface/auth_handler_factory.h
"
33
#include "
mrs/interface/authorize_handler.h
"
34
#include "
mrs/interface/query_factory.h
"
35
36
namespace
mrs
{
37
namespace
authentication {
38
39
class
AuthHandlerFactory
:
public
interface::AuthHandlerFactory
{
40
public
:
41
using
MysqlCacheManager
=
collector::MysqlCacheManager
;
42
using
QueryFactory
=
mrs::interface::QueryFactory
;
43
using
SessionManager
=
http::SessionManager
;
44
45
public
:
46
AuthHandlerFactory
(
QueryFactory
*qf);
47
48
AuthHandlerPtr
create_basic_auth_handler
(
49
AuthorizeHandlerCallbakcs
*
cb
,
const
AuthApp
&
entry
,
50
MysqlCacheManager
*cache_manager)
const override
;
51
AuthHandlerPtr
create_facebook_auth_handler
(
52
AuthorizeHandlerCallbakcs
*
cb
,
const
AuthApp
&
entry
)
const override
;
53
AuthHandlerPtr
create_google_auth_handler
(
54
AuthorizeHandlerCallbakcs
*
cb
,
const
AuthApp
&
entry
)
const override
;
55
AuthHandlerPtr
create_oidc_auth_handler
(
AuthorizeHandlerCallbakcs
*
cb
,
56
const
AuthApp
&
entry
)
const override
;
57
AuthHandlerPtr
create_scram_auth_handler
(
58
AuthorizeHandlerCallbakcs
*
cb
,
const
AuthApp
&
entry
,
59
const
std::string &rd,
SessionManager
*session_manager)
const override
;
60
61
private
:
62
QueryFactory
*
qf_
;
63
};
64
65
}
// namespace authentication
66
}
// namespace mrs
67
68
#endif
// ROUTER_SRC_REST_MRS_SRC_MRS_AUTHENTICATION_AUTH_HANDLER_FACTORY_H_
auth_app.h
authorize_handler.h
collector::MysqlCacheManager
Definition:
mysql_cache_manager.h:87
helper::AuthorizeHandlerCallbakcs
Definition:
authorize_handler_callbacks.h:35
mrs::authentication::AuthHandlerFactory
Definition:
auth_handler_factory.h:39
mrs::authentication::AuthHandlerFactory::create_oidc_auth_handler
AuthHandlerPtr create_oidc_auth_handler(AuthorizeHandlerCallbakcs *cb, const AuthApp &entry) const override
Definition:
auth_handler_factory.cc:63
mrs::authentication::AuthHandlerFactory::create_facebook_auth_handler
AuthHandlerPtr create_facebook_auth_handler(AuthorizeHandlerCallbakcs *cb, const AuthApp &entry) const override
Definition:
auth_handler_factory.cc:49
mrs::authentication::AuthHandlerFactory::qf_
QueryFactory * qf_
Definition:
auth_handler_factory.h:62
mrs::authentication::AuthHandlerFactory::create_google_auth_handler
AuthHandlerPtr create_google_auth_handler(AuthorizeHandlerCallbakcs *cb, const AuthApp &entry) const override
Definition:
auth_handler_factory.cc:56
mrs::authentication::AuthHandlerFactory::create_basic_auth_handler
AuthHandlerPtr create_basic_auth_handler(AuthorizeHandlerCallbakcs *cb, const AuthApp &entry, MysqlCacheManager *cache_manager) const override
Definition:
auth_handler_factory.cc:42
mrs::authentication::AuthHandlerFactory::AuthHandlerFactory
AuthHandlerFactory(QueryFactory *qf)
Definition:
auth_handler_factory.cc:40
mrs::authentication::AuthHandlerFactory::create_scram_auth_handler
AuthHandlerPtr create_scram_auth_handler(AuthorizeHandlerCallbakcs *cb, const AuthApp &entry, const std::string &rd, SessionManager *session_manager) const override
Definition:
auth_handler_factory.cc:70
mrs::http::SessionManager
Definition:
session_manager.h:48
mrs::interface::AuthHandlerFactory
Definition:
auth_handler_factory.h:39
mrs::interface::AuthHandlerFactory::AuthApp
mrs::database::entry::AuthApp AuthApp
Definition:
auth_handler_factory.h:42
mrs::interface::AuthHandlerFactory::AuthHandlerPtr
std::shared_ptr< AuthorizeHandler > AuthHandlerPtr
Definition:
auth_handler_factory.h:43
mrs::interface::QueryFactory
Definition:
query_factory.h:55
auth_handler_factory.h
query_factory.h
mysql_cache_manager.h
connection_control::cb
static bool cb(unsigned long long new_value)
Definition:
option_usage.cc:45
mrs::endpoint::handler::MysqlCacheManager
collector::MysqlCacheManager MysqlCacheManager
Definition:
handler_db_object_table.cc:266
mrs
Definition:
authorize_manager.h:48
session_manager.h
_entry
Definition:
completion_hash.h:35
router
src
mysql_rest_service
src
mrs
authentication
auth_handler_factory.h
Generated by
1.9.2