ImagingTools Core SDK
IPersonalAccessTokenManager.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 <iser/ISerializable.h>
7
8// ImtCore includes
9#include <imtauth/IPersonalAccessToken.h>
10
11
12namespace imtauth
13{
14
15
28class IPersonalAccessTokenManager: virtual public iser::ISerializable
29{
30public:
35 {
36 QByteArray tokenId;
37 QByteArray rawToken;
38 bool success;
39 };
40
56 const QByteArray& userId,
57 const QString& name,
58 const QString& description,
59 const QByteArrayList& scopes,
60 const QDateTime& expiresAt) = 0;
61
75 virtual bool ValidateToken(const QByteArray& rawToken, QByteArray& userId, QByteArray& tokenId, QByteArrayList& scopes) const = 0;
76
83 virtual QByteArrayList GetTokenIds(const QByteArray& userId) const = 0;
84
94 virtual IPersonalAccessTokenSharedPtr GetToken(const QByteArray& tokenId) const = 0;
95
105 virtual bool RevokeToken(const QByteArray& tokenId) = 0;
106
116 virtual bool UpdateLastUsedAt(const QByteArray& tokenId) = 0;
117
127 virtual bool DeleteToken(const QByteArray& tokenId) = 0;
128};
129
130
131} // namespace imtauth
132
133
virtual TokenCreationResult CreateToken(const QByteArray &userId, const QString &name, const QString &description, const QByteArrayList &scopes, const QDateTime &expiresAt)=0
virtual bool DeleteToken(const QByteArray &tokenId)=0
virtual IPersonalAccessTokenSharedPtr GetToken(const QByteArray &tokenId) const =0
virtual bool ValidateToken(const QByteArray &rawToken, QByteArray &userId, QByteArray &tokenId, QByteArrayList &scopes) const =0
virtual bool UpdateLastUsedAt(const QByteArray &tokenId)=0
virtual bool RevokeToken(const QByteArray &tokenId)=0
virtual QByteArrayList GetTokenIds(const QByteArray &userId) const =0
QByteArray tokenId
Unique identifier for the created token.
QByteArray rawToken
Plain text token value (returned only once at creation)