lintel 0.2.0
Loading...
Searching...
No Matches
IAuthService.h
Go to the documentation of this file.
1#ifndef LINTEL_IAUTHSERVICE_H
2#define LINTEL_IAUTHSERVICE_H
3
4#include <chrono>
5#include <memory>
6#include <optional>
7#include <string>
8#include <vector>
9
11
12namespace lintel {
15{
16 std::string m_ipAddress;
17 std::string m_userName;
18 std::string m_password;
19};
20
23{
24 std::string m_ipAddress;
25 std::string m_id;
26};
27
30{
31 std::string m_ipAddress;
32 std::string m_id;
33 std::chrono::sys_time<std::chrono::microseconds> m_lastAccessTimestamps;
35};
36
41{
42public:
43 virtual ~IAuthService() = default;
44
50 virtual std::optional<UserToken> onLoginOf(const UserLogin &userLogin) = 0;
51
57 virtual std::optional<UserToken> onAccessOf(const UserTokenLogin &userTokenLogin) = 0;
58
63 virtual void onLogoutOf(const UserTokenLogin &userToken) = 0;
64
70 virtual std::vector<UserToken> allTokensOf(const std::string &userName) = 0;
71
76 virtual void revokeTokenOf(const std::string &id) = 0;
77};
78
79}// namespace lintel
80#endif// LINTEL_IAUTHSERVICE_H
Definition IAuthService.h:41
virtual ~IAuthService()=default
virtual std::optional< UserToken > onLoginOf(const UserLogin &userLogin)=0
virtual std::optional< UserToken > onAccessOf(const UserTokenLogin &userTokenLogin)=0
virtual void onLogoutOf(const UserTokenLogin &userToken)=0
virtual void revokeTokenOf(const std::string &id)=0
virtual std::vector< UserToken > allTokensOf(const std::string &userName)=0
Definition User.h:23
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9
Definition IAuthService.h:15
std::string m_ipAddress
Definition IAuthService.h:16
std::string m_userName
Definition IAuthService.h:17
std::string m_password
Definition IAuthService.h:18
Definition IAuthService.h:23
std::string m_id
Definition IAuthService.h:25
std::string m_ipAddress
Definition IAuthService.h:24
Definition IAuthService.h:30
User m_user
Definition IAuthService.h:34
std::string m_id
Definition IAuthService.h:32
std::string m_ipAddress
Definition IAuthService.h:31
std::chrono::sys_time< std::chrono::microseconds > m_lastAccessTimestamps
Definition IAuthService.h:33