Albert
Loading...
Searching...
No Matches
oauth.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2025 Manuel Schneider
2
3#pragma once
4#include <QDateTime>
5#include <QObject>
6#include <QString>
7#include <albert/export.h>
8#include <memory>
9class QUrl;
10
11namespace albert::util
12{
13
18class ALBERT_EXPORT OAuth2 : public QObject
19{
20 Q_OBJECT
21public:
22
25
28
29 const QString &clientId() const;
30 void setClientId(const QString &);
31
32 const QString &clientSecret() const;
33 void setClientSecret(const QString &);
34
35 const QString &scope() const;
36 void setScope(const QString &);
37
38 const QString &authUrl() const;
39 void setAuthUrl(const QString &);
40
41 const QString &redirectUri() const;
42 void setRedirectUri(const QString &);
43
44 bool isPkceEnabled() const;
45 void setPkceEnabled(bool);
46
47 const QString &tokenUrl() const;
48 void setTokenUrl(const QString &);
49
50 const QString &accessToken() const;
51 const QString &refreshToken() const;
52 const QDateTime &tokenExpiration() const;
53
54 void setTokens(const QString &access_token,
55 const QString &refresh_token = {},
56 const QDateTime &expiration = {});
57
58 const QString &error() const;
59
60 enum class State {
61 NotAuthorized,
62 Awaiting,
63 Granted
64 };
65
66 State state() const;
67
68 void handleCallback(const QUrl &callback);
69
70signals:
71
72 void clientIdChanged(const QString &);
73 void clientSecretChanged(const QString &);
74 void scopeChanged(const QString &);
75 void authUrlChanged(const QString &);
76 void redirectUriChanged(const QString &);
77 void tokenUrlChanged(const QString &);
80
81private:
82
83 class Private;
84 std::unique_ptr<Private> d;
85
86};
87
88}
Provides OAuth2 authentication with support for the Authorization Code Flow with PKCE and refresh tok...
Definition oauth.h:19
void setScope(const QString &)
bool isPkceEnabled() const
void scopeChanged(const QString &)
const QString & scope() const
void setTokenUrl(const QString &)
const QString & tokenUrl() const
const QString & clientSecret() const
const QString & clientId() const
void handleCallback(const QUrl &callback)
void setClientSecret(const QString &)
State
Definition oauth.h:60
void setTokens(const QString &access_token, const QString &refresh_token={}, const QDateTime &expiration={})
void authUrlChanged(const QString &)
void clientSecretChanged(const QString &)
void setPkceEnabled(bool)
void setAuthUrl(const QString &)
const QString & error() const
const QString & redirectUri() const
const QString & refreshToken() const
void stateChanged(State)
const QString & authUrl() const
void setClientId(const QString &)
void setRedirectUri(const QString &)
void clientIdChanged(const QString &)
State state() const
void tokenUrlChanged(const QString &)
const QString & accessToken() const
const QDateTime & tokenExpiration() const
void redirectUriChanged(const QString &)
Definition backgroundexecutor.h:12