ImagingTools Core SDK
CRemoteJwtSessionControllerComp.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ACF includes
6#include <ilog/TLoggerCompWrap.h>
7
8// ImtCore includes
9#include <imtauth/IJwtSessionController.h>
10#include <imtclientgql/TClientRequestManagerCompWrap.h>
11
12
13namespace imtauthgql
14{
15
16
17class CRemoteJwtSessionControllerComp:
18 public imtclientgql::TClientRequestManagerCompWrap<ilog::CLoggerComponentBase>,
19 virtual public imtauth::IJwtSessionController
20{
21public:
22 typedef imtclientgql::TClientRequestManagerCompWrap<ilog::CLoggerComponentBase> BaseClass;
23
24 I_BEGIN_COMPONENT(CRemoteJwtSessionControllerComp);
25 I_REGISTER_INTERFACE(imtauth::IJwtSessionController);
26 I_ASSIGN(m_sessionFactCompPtr, "SessionFactory", "Factory used for creation of the new session", false, "SessionFactory");
27 I_END_COMPONENT;
28
29protected:
30 // reimplemented (imtauth::IJwtSessionController)
31 virtual bool ValidateSession(const QByteArray& sessionId) const override;
32 virtual JwtState ValidateJwt(const QByteArray& token) const override;
33 virtual bool RefreshToken(const QByteArray& refreshToken, UserSession& userSession) const override;
34 virtual bool CreateNewSession(const QByteArray& userId, UserSession& userSession) const override;
35 virtual imtauth::ISessionSharedPtr GetSession(const QByteArray& sessionId) const override;
36 virtual bool RemoveSession(const QByteArray& sessionId) const override;
37 virtual QByteArray GetUserFromJwt(const QByteArray& jwt) const override;
38 virtual QByteArray GetSessionFromJwt(const QByteArray& jwt) const override;
39
40protected:
41 I_FACT(imtauth::ISession, m_sessionFactCompPtr);
42};
43
44
45} // namespace imtauthgql
Authentication GraphQL API Layer Module.