userver
C++ Async Framework
Toggle main menu visibility
Documentation
API Groups
Namespaces
Reference
Class List
Class Index
File List
Macros
All
e
i
l
r
t
u
Functions
Macros
e
i
l
r
t
u
Examples
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Concepts
Loading...
Searching...
No Matches
auth_checker_base.hpp
1
#
pragma
once
2
3
#
include
<
memory
>
4
#
include
<
optional
>
5
#
include
<
string
>
6
7
#
include
<
userver
/
server
/
auth
/
user_auth_info
.
hpp
>
8
#
include
<
userver
/
server
/
handlers
/
exceptions
.
hpp
>
9
#
include
<
userver
/
server
/
http
/
http_request
.
hpp
>
10
#
include
<
userver
/
server
/
request
/
request_context
.
hpp
>
11
12
USERVER_NAMESPACE_BEGIN
13
14
namespace
server::handlers::auth {
15
16
struct
AuthCheckResult
{
17
enum
class
Status { kTokenNotFound, kInternalCheckFailure, kInvalidToken, kForbidden, kOk };
18
19
Status status{Status::kOk};
20
std::optional<std::string> reason{};
21
std::optional<std::string> ext_reason{};
22
std::optional<
HandlerErrorCode
> code{};
23
};
16
struct
AuthCheckResult
{
…
};
24
25
const
std::string& GetDefaultReasonForStatus(
AuthCheckResult
::Status status);
26
void
RaiseForStatus(
const
AuthCheckResult
& auth_check);
27
28
class
AuthCheckerBase
{
29
public
:
30
virtual
~AuthCheckerBase();
31
32
[[
nodiscard
]]
virtual
AuthCheckResult
CheckAuth(
const
http
::HttpRequest& request,
request
::RequestContext& context)
33
const
= 0;
34
35
[[
nodiscard
]]
virtual
bool
SupportsUserAuth()
const
noexcept
= 0;
36
37
protected
:
38
void
SetUserAuthInfo(server::
request
::RequestContext& request_context, server::auth::UserAuthInfo&& info)
const
;
39
};
28
class
AuthCheckerBase
{
…
};
40
41
using
AuthCheckerBasePtr = std::shared_ptr<
AuthCheckerBase
>;
42
43
}
// namespace server::handlers::auth
44
45
USERVER_NAMESPACE_END
userver
server
handlers
auth
auth_checker_base.hpp
Generated on Wed Apr 30 2025 15:53:40 for userver by
Doxygen
1.13.2