6#include <imtservergql/CGqlRequestHandlerCompBase.h>
7#include <imtbase/IObjectCollection.h>
8#include <imtcrypt/IHashGenerator.h>
9#include <imtauth/ICredentialController.h>
10#include <imtauth/CUserInfo.h>
11#include <imtauth/IJwtSessionController.h>
12#include <GeneratedFiles/imtauthsdl/SDL/1.0/CPP/Authorization.h>
19class CAuthorizationControllerComp:
public sdl::imtauth::Authorization::CGraphQlHandlerCompBase
22 typedef sdl::imtauth::Authorization::CGraphQlHandlerCompBase BaseClass;
24 I_BEGIN_COMPONENT(CAuthorizationControllerComp);
25 I_ASSIGN(m_userCollectionCompPtr,
"UserCollection",
"User collection",
true,
"UserCollection");
26 I_ASSIGN(m_userConnectionCollectionCompPtr,
"UserConnectionCollection",
"User connection collection",
false,
"UserConnectionCollection");
27 I_ASSIGN_MULTI_0(m_credentialControllersCompPtr,
"CredentialControllers",
"Credential Controllers",
true);
28 I_ASSIGN_MULTI_0(m_systemIdsAttrPtr,
"SystemIds",
"System-IDs",
true);
29 I_ASSIGN(m_jwtSessionControllerCompPtr,
"JwtSessionController",
"JWT session controller",
false,
"JwtSessionController");
33 bool ParseDataFromGqlRequest(
const imtgql::CGqlRequest& gqlRequest, QByteArray& login, QByteArray& password, QByteArray& productId)
const;
34 QByteArray GetUserObjectId(
const QByteArray& login)
const;
35 bool CheckCredential(
const QByteArray& systemId,
const QByteArray& login,
const QByteArray& password)
const;
36 sdl::imtauth::Authorization::CAuthorizationPayload CreateInvalidLoginOrPasswordResponse(
const QByteArray& login, QString& errorMessage)
const;
37 sdl::imtauth::Authorization::CAuthorizationPayload CreateAuthorizationSuccessfulResponse(
38 imtauth::CUserInfo& userInfo,
39 const QByteArray& systemId,
40 const QByteArray& productId,
41 QString& errorMessage)
const;
44 virtual sdl::imtauth::Authorization::CAuthorizationPayload OnAuthorization(
45 const sdl::imtauth::Authorization::CAuthorizationGqlRequest& authorizationRequest,
46 const imtgql::CGqlRequest& gqlRequest,
47 QString& errorMessage)
const override;
48 virtual sdl::imtauth::Authorization::CAuthorizationPayload OnUserToken(
49 const sdl::imtauth::Authorization::CUserTokenGqlRequest& userTokenRequest,
50 const ::imtgql::CGqlRequest& gqlRequest,
51 QString& errorMessage)
const override;
52 virtual sdl::imtauth::Authorization::CLogoutPayload OnLogout(
53 const sdl::imtauth::Authorization::CLogoutGqlRequest& logoutRequest,
54 const ::imtgql::CGqlRequest& gqlRequest,
55 QString& errorMessage)
const override;
56 virtual sdl::imtauth::Authorization::CPermissionList OnGetPermissions(
57 const sdl::imtauth::Authorization::CGetPermissionsGqlRequest& getPermissionsRequest,
58 const ::imtgql::CGqlRequest& gqlRequest,
59 QString& errorMessage)
const override;
62 virtual bool CheckPermissions(
const imtgql::CGqlRequest& gqlRequest, QString& errorMessage)
const override;
67 I_REF(imtauth::IJwtSessionController, m_jwtSessionControllerCompPtr);
68 I_MULTIREF(imtauth::ICredentialController, m_credentialControllersCompPtr);
69 I_MULTIATTR(QByteArray, m_systemIdsAttrPtr);
Authentication GraphQL API Layer Module.