6#include <ilog/TLoggerCompWrap.h>
9#include <imtauth/IPersonalAccessTokenManager.h>
10#include <imtbase/IObjectCollection.h>
17class CPersonalAccessTokenManagerComp:
18 public ilog::CLoggerComponentBase,
22 typedef ilog::CLoggerComponentBase BaseClass;
24 I_BEGIN_COMPONENT(CPersonalAccessTokenManagerComp);
26 I_ASSIGN(m_tokenCollectionCompPtr,
"TokenCollection",
"Personal access token collection",
true,
"PersonalAccessTokenCollection");
27 I_ASSIGN(m_tokenFactoryCompPtr,
"TokenFactory",
"Personal access token factory",
true,
"PersonalAccessTokenFactory");
31 virtual TokenCreationResult CreateToken(
32 const QByteArray& userId,
34 const QString& description,
35 const QByteArrayList& scopes,
36 const QDateTime& expiresAt)
override;
37 virtual bool ValidateToken(
const QByteArray& rawToken, QByteArray& userId, QByteArray& tokenId, QByteArrayList& scopes)
const override;
38 virtual QByteArrayList GetTokenIds(
const QByteArray& userId)
const override;
39 virtual IPersonalAccessTokenSharedPtr GetToken(
const QByteArray& tokenId)
const override;
40 virtual bool RevokeToken(
const QByteArray& tokenId)
override;
41 virtual bool UpdateLastUsedAt(
const QByteArray& tokenId)
override;
42 virtual bool DeleteToken(
const QByteArray& tokenId)
override;
45 virtual bool Serialize(iser::IArchive& archive)
override;
48 QByteArray GenerateRandomToken()
const;
49 QByteArray HashToken(
const QByteArray& rawToken)
const;
50 QByteArray ExtractTokenId(
const QByteArray& rawToken)
const;