userver
C++ Async Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
user_auth_info.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/server/auth/user_auth_info.hpp
4
/// @brief @copybrief server::auth::UserAuthInfo
5
6
#
include
<
optional
>
7
#
include
<
string
>
8
9
#
include
<
userver
/
server
/
request
/
request_context
.
hpp
>
10
#
include
<
userver
/
utils
/
strong_typedef
.
hpp
>
11
12
#
include
<
userver
/
server
/
auth
/
user_env
.
hpp
>
13
#
include
<
userver
/
server
/
auth
/
user_id
.
hpp
>
14
#
include
<
userver
/
server
/
auth
/
user_provider
.
hpp
>
15
#
include
<
userver
/
server
/
auth
/
user_scopes
.
hpp
>
16
17
USERVER_NAMESPACE_BEGIN
18
19
namespace
server::
handlers
::auth {
20
class
AuthCheckerBase
;
21
}
22
23
namespace
server::auth {
24
25
/// @brief Authenticated user data attached to a request
26
class
UserAuthInfo
final
{
27
public
:
28
using
Ticket = utils::NonLoggable<
class
TicketTag, std::string>;
29
30
UserAuthInfo(
UserId
default_id,
UserEnv
env,
UserProvider
provider);
31
UserAuthInfo(
UserId
default_id, Ticket user_ticket,
UserEnv
env,
UserProvider
provider);
32
33
UserAuthInfo(
UserId
default_id, UserIds ids, UserScopes scopes,
UserEnv
env,
UserProvider
provider);
34
UserAuthInfo(
35
UserId
default_id,
36
UserIds ids,
37
UserScopes scopes,
38
Ticket user_ticket,
39
UserEnv
env,
40
UserProvider
provider
41
);
42
43
UserId
GetDefaultUserId()
const
noexcept
;
44
const
UserIds& GetUserIds()
const
;
45
const
std::optional<UserScopes>& GetUserScopesOptional()
const
;
46
const
std::optional<Ticket>& GetTicketOptional()
const
;
47
UserEnv
GetUserEnv()
const
{
return
user_env_; }
48
UserProvider
GetUserProvider()
const
{
return
user_provider_; }
49
50
private
:
51
friend
class
server::
handlers
::auth::
AuthCheckerBase
;
52
static
void
Set(server::
request
::RequestContext& request_context, UserAuthInfo&& info);
53
54
UserId
default_id_;
55
UserIds ids_;
56
std::optional<UserScopes> scopes_;
57
std::optional<Ticket> user_ticket_;
58
UserEnv
user_env_;
59
UserProvider
user_provider_;
60
};
61
62
const
UserAuthInfo& GetUserAuthInfo(
const
server::
request
::RequestContext& request_context);
63
64
std::optional<UserAuthInfo> GetUserAuthInfoOpt(
const
server::
request
::RequestContext& request_context);
65
66
}
// namespace server::auth
67
68
USERVER_NAMESPACE_END
userver
server
auth
user_auth_info.hpp
Generated on
for userver by
Doxygen
1.17.0