Auf dieser Seite

QAbstractOAuth2 Class

Die Klasse „QAbstractOAuth2“ bildet die Grundlage für alle Implementierungen von OAuth-2-Authentifizierungsmethoden. Mehr...

Header: #include <QAbstractOAuth2>
CMake: find_package(Qt6 REQUIRED COMPONENTS NetworkAuth)
target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth)
qmake: QT += networkauth
Erbt von: QAbstractOAuth
Vererbt an:

QOAuth2AuthorizationCodeFlow und QOAuth2DeviceAuthorizationFlow

Öffentliche Typen

(since 6.9) enum class NonceMode { Automatic, Enabled, Disabled }

Eigenschaften

Öffentliche Funktionen

QAbstractOAuth2(QObject *parent = nullptr)
QAbstractOAuth2(QNetworkAccessManager *manager, QObject *parent = nullptr)
virtual ~QAbstractOAuth2()
bool autoRefresh() const
void clearNetworkRequestModifier()
QString clientIdentifierSharedKey() const
virtual QUrl createAuthenticatedUrl(const QUrl &url, const QVariantMap &parameters = QVariantMap())
QDateTime expirationAt() const
QSet<QByteArray> grantedScopeTokens() const
QString idToken() const
QString nonce() const
QAbstractOAuth2::NonceMode nonceMode() const
std::chrono::seconds refreshLeadTime() const
QString refreshToken() const
QSet<QByteArray> requestedScopeTokens() const
QString responseType() const
QString scope() const
void setAutoRefresh(bool enable)
void setClientIdentifierSharedKey(const QString &clientIdentifierSharedKey)
(since 6.9) void setNetworkRequestModifier(const QAbstractOAuth2::ContextTypeForFunctor<Functor> *context, Functor &&callback)
void setNonce(const QString &nonce)
void setNonceMode(QAbstractOAuth2::NonceMode mode)
void setRefreshLeadTime(std::chrono::seconds leadTime)
void setRefreshToken(const QString &refreshToken)
void setRequestedScopeTokens(const QSet<QByteArray> &tokens)
void setScope(const QString &scope)
(since 6.5) void setSslConfiguration(const QSslConfiguration &configuration)
void setState(const QString &state)
void setTokenUrl(const QUrl &tokenUrl)
void setUserAgent(const QString &userAgent)
(since 6.5) QSslConfiguration sslConfiguration() const
QString state() const
QUrl tokenUrl() const
QString userAgent() const

Neu implementierte öffentliche Funktionen

(deprecated in 6.11) virtual QNetworkReply *deleteResource(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override
(deprecated in 6.11) virtual QNetworkReply *get(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override
(deprecated in 6.11) virtual QNetworkReply *head(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override
(deprecated in 6.11) virtual QNetworkReply *post(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override
virtual void prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray()) override
(deprecated in 6.11) virtual QNetworkReply *put(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override

Öffentliche Slots

(since 6.9) void refreshTokens()

Signale

(since 6.9) void accessTokenAboutToExpire()
void authorizationCallbackReceived(const QVariantMap &data)
void autoRefreshChanged(bool enable)
void clientIdentifierSharedKeyChanged(const QString &clientIdentifierSharedKey)
(until 6.13) void error(const QString &error, const QString &errorDescription, const QUrl &uri)
void expirationAtChanged(const QDateTime &expiration)
void grantedScopeTokensChanged(const QSet<QByteArray> &tokens)
void idTokenChanged(const QString &idToken)
void nonceChanged(const QString &nonce)
void nonceModeChanged(QAbstractOAuth2::NonceMode mode)
void refreshLeadTimeChanged(std::chrono::seconds leadTime)
void refreshTokenChanged(const QString &refreshToken)
void requestedScopeTokensChanged(const QSet<QByteArray> &tokens)
void scopeChanged(const QString &scope)
(since 6.9) void serverReportedErrorOccurred(const QString &error, const QString &errorDescription, const QUrl &uri)
(since 6.5) void sslConfigurationChanged(const QSslConfiguration &configuration)
void stateChanged(const QString &state)
void tokenUrlChanged(const QUrl &tokenUrl)
void userAgentChanged(const QString &userAgent)

Geschützte Slots

(since 6.9) void refreshTokensImplementation()

Ausführliche Beschreibung

Die Klasse definiert die grundlegende Schnittstelle der OAuth-2-Authentifizierungsklassen. Durch Vererben dieser Klasse können Sie benutzerdefinierte Authentifizierungsmethoden unter Verwendung des OAuth-2-Standards für verschiedene Webdienste erstellen.

Eine Beschreibung der Funktionsweise von OAuth 2 finden Sie unter: Das OAuth 2.0-Autorisierungsframework

Dokumentation zu den Mitgliedstypen

[since 6.9] enum class QAbstractOAuth2::NonceMode

Liste der verfügbaren Nonce -Modi.

KonstantWertBeschreibung
QAbstractOAuth2::NonceMode::Automatic0Der Nonce-Wert wird gesendet, wenn der „ requested scope “ das Element „ openid “ enthält. Dies ist der Standardmodus, bei dem „ nonce “ nur gesendet wird, wenn es für OIDC-Authentifizierungsabläufe relevant ist.
QAbstractOAuth2::NonceMode::Enabled1Der Nonce-Wert wird während der Autorisierungsphase gesendet.
QAbstractOAuth2::NonceMode::Disabled2Der Nonce wird während der Autorisierungsphase nicht gesendet. Dadurch wird der Schutz vor Wiederholungsangriffen (Replay Protection) im OpenID Connect- id_token deaktiviert.

Diese Enumeration wurde in Qt 6.9 eingeführt.

Siehe auch „ nonce “ und „OAuth 2.0 – Überblick“.

Dokumentation zu den Eigenschaften

[since 6.9] autoRefresh : bool

Diese Eigenschaft aktiviert oder deaktiviert die automatische Aktualisierung des Zugriffstokens.

Diese Eigenschaft aktiviert oder deaktiviert die automatische Aktualisierung des Zugriffstokens. Dies ist nützlich für Anwendungen, die eine unterbrechungsfreie Autorisierung ohne Benutzereingriff erfordern.

Wenn diese Eigenschaft auf „ true “ gesetzt ist, wird „ refreshTokens()“ automatisch aufgerufen, sobald das Token bald abläuft und ein gültiges „ refreshToken “ vorhanden ist.

Diese Aufzählung wurde in Qt 6.9 eingeführt.

Zugriffsfunktionen:

bool autoRefresh() const
void setAutoRefresh(bool enable)

Notifier-Signal:

void autoRefreshChanged(bool enable)

Siehe auch „ refreshLeadTime “ und „ accessTokenAboutToExpire()“.

clientIdentifierSharedKey : QString

Diese Eigenschaft enthält den gemeinsamen Schlüssel des Clients, der als Passwort verwendet wird, wenn der Server eine Authentifizierung verlangt, um das Token anzufordern.

Zugriffsfunktionen:

QString clientIdentifierSharedKey() const
void setClientIdentifierSharedKey(const QString &clientIdentifierSharedKey)

Benachrichtigungssignal:

void clientIdentifierSharedKeyChanged(const QString &clientIdentifierSharedKey)

[read-only] expiration : QDateTime

Diese Eigenschaft enthält die Ablaufzeit des aktuellen Zugriffstokens. Ein ungültiger Wert bedeutet, dass der Autorisierungsserver keine gültige Ablaufzeit angegeben hat.

Zugriffsfunktionen:

QDateTime expirationAt() const

Benachrichtigungssignal:

void expirationAtChanged(const QDateTime &expiration)

Siehe auch „ QDateTime::isValid()“.

[read-only, since 6.9] grantedScopeTokens : QSet<QByteArray>

Diese Eigenschaft enthält den vom Autorisierungsserver gewährten Geltungsbereich.

Der angeforderte und der gewährte Geltungsbereich können voneinander abweichen. Der Endbenutzer hat sich möglicherweise dafür entschieden, nur einen Teil des Geltungsbereichs zu gewähren, oder serverseitige Richtlinien können diesen ändern. Die Anwendung sollte auf dieses Szenario vorbereitet sein und den gewährten Geltungsbereich überprüfen, um festzustellen, ob sich dies auf die Anwendungslogik auswirkt.

Der Server kann gemäß RFC 6749 die Angabe des gewährten Geltungsbereichs gänzlich unterlassen. In diesem Fall geht die Implementierung davon aus, dass der gewährte Geltungsbereich mit dem angeforderten übereinstimmt.

Diese Aufzählung wurde in Qt 6.9 eingeführt.

Zugriffsfunktionen:

QSet<QByteArray> grantedScopeTokens() const

Notifier-Signal:

void grantedScopeTokensChanged(const QSet<QByteArray> &tokens)

Siehe auch QAbstractOAuth2::requestedScopeTokens.

[read-only, since 6.9] idToken : QString

Diese Eigenschaft enthält das empfangene OpenID Connect-ID-Token.

Diese Enumeration wurde in Qt 6.9 eingeführt.

Zugriffsfunktionen:

QString idToken() const

Notifier-Signal:

void idTokenChanged(const QString &idToken)

Siehe auch „ NonceMode “, „ nonce “ und „Qt OpenID Connect-Unterstützung“.

[since 6.9] nonce : QString

Diese Eigenschaft enthält die Zeichenfolge, die während der Authentifizierung an den Server gesendet wird. Der Nonce wird verwendet, um relevante Token-Antworten (insbesondere OpenID Connect- id_token ) der Autorisierungsphase zuzuordnen.

Der Hauptzweck des „ nonce “ besteht darin, Replay-Angriffe abzuwehren. Er stellt sicher, dass die empfangenen Token-Antworten tatsächlich auf die von der Anwendung initiierten Authentifizierungsanfragen zurückgehen, und verhindert so, dass Angreifer Token in nicht autorisierten Kontexten wiederverwenden. Daher ist es wichtig, die Nonce-Überprüfung als Teil der Token-Validierung einzubeziehen.

In der Praxis können Anbieter von Autorisierungsservern die OpenID-Connect-Anfrage ablehnen, wenn in der Autorisierungsanfrage kein Nonce angegeben ist.

Das Token selbst ist eine undurchsichtige Zeichenfolge und sollte zur Gewährleistung maximaler Kompatibilität ausschließlich URL-sichere Zeichen enthalten. Darüber hinaus muss das Token eine ausreichende Entropie aufweisen , damit es für Angreifer nicht erratbar ist. Es gibt keine strengen Größenbeschränkungen für das Nonce, und Anbieter von Autorisierungsservern können eigene Mindest- und Höchstgrößen festlegen.

Während die „ nonce “ manuell festgelegt werden kann, generieren Qt-Klassen einen 32-Zeichen-Nonce- when needed, falls kein solcher festgelegt wurde.

Diese Enumeration wurde in Qt 6.9 eingeführt.

Zugriffsfunktionen:

QString nonce() const
void setNonce(const QString &nonce)

Notifier-Signal:

void nonceChanged(const QString &nonce)

Siehe auch „ nonceMode “ und „Qt OpenID Connect-Unterstützung“.

[since 6.9] nonceMode : NonceMode

Diese Eigenschaft gibt den aktuellen Nonce-Modus an (ob ein Nonce verwendet wird oder nicht).

Diese Aufzählung wurde in Qt 6.9 eingeführt.

Zugriffsfunktionen:

QAbstractOAuth2::NonceMode nonceMode() const
void setNonceMode(QAbstractOAuth2::NonceMode mode)

Notifier-Signal:

void nonceModeChanged(QAbstractOAuth2::NonceMode mode)

Siehe auch NonceMode und nonce.

[since 6.9] refreshLeadTime : std::chrono::seconds

Diese Eigenschaft legt fest, wie weit im Voraus das Signal „ accessTokenAboutToExpire()“ im Verhältnis zum Ablauf des Zugriffstokens ausgegeben wird.

Diese Eigenschaft gibt das Zeitintervall (in Sekunden) vor dem Ablauf des aktuellen Zugriffstokens an, zu dem das Signal „ accessTokenAboutToExpire()“ gesendet wird. Der für diese Eigenschaft festgelegte Wert muss eine positive Zeitdauer sein.

Dieses Intervall ermöglicht es der Anwendung, das Token rechtzeitig im Voraus zu aktualisieren, wodurch eine kontinuierliche Autorisierung ohne Unterbrechungen gewährleistet wird.

Wenn diese Eigenschaft nicht explizit festgelegt ist oder die angegebene „leadTime“ größer ist als die Lebensdauer des Tokens, wird die „leadTime“ standardmäßig auf 5 % der verbleibenden Lebensdauer des Tokens gesetzt, jedoch nicht weniger als 10 Sekunden vor Ablauf (damit genügend Zeit für die Ausführung der Aktualisierungsanfrage bleibt).

Hinweis: Das „expiration “-Signal funktioniert nur, wenn der Autorisierungsserver eine korrekte Ablaufzeit angegeben hat.

Diese Aufzählung wurde in Qt 6.9 eingeführt.

Zugriffsfunktionen:

std::chrono::seconds refreshLeadTime() const
void setRefreshLeadTime(std::chrono::seconds leadTime)

Notifier-Signal:

void refreshLeadTimeChanged(std::chrono::seconds leadTime)

Siehe auch „ autoRefresh “.

refreshToken : QString

Diese Eigenschaft enthält das Aktualisierungstoken, das zum Abrufen neuer Zugriffstoken verwendet wird.

Aktualisierungstoken haben in der Regel eine längere Gültigkeitsdauer als Zugriffstoken, daher ist es sinnvoll, sie für die spätere Verwendung zu speichern.

Zugriffsfunktionen:

QString refreshToken() const
void setRefreshToken(const QString &refreshToken)

Notifier-Signal:

void refreshTokenChanged(const QString &refreshToken)

Siehe auch „ setRefreshToken()“.

[since 6.9] requestedScopeTokens : QSet<QByteArray>

Diese Eigenschaft enthält den gewünschten Geltungsbereich, der die vom Client angeforderten Berechtigungen definiert.

Hinweis: Bereichstoken sind auf eine Teilmenge der druckbaren US-ASCII-Zeichen beschränkt. Die Verwendung von Zeichen außerhalb dieses Bereichs wird nicht unterstützt.

Diese Aufzählung wurde in Qt 6.9 eingeführt.

Zugriffsfunktionen:

QSet<QByteArray> requestedScopeTokens() const
void setRequestedScopeTokens(const QSet<QByteArray> &tokens)

Notifier-Signal:

void requestedScopeTokensChanged(const QSet<QByteArray> &tokens)

Siehe auch „ QAbstractOAuth2::grantedScopeTokens “.

[until 6.13] scope : QString

Diese Aufzählung soll in Version 6.13 als veraltet markiert werden.

Verwenden Sie stattdessen die Eigenschaften „ requestedScopeTokens “ und „ grantedScopeTokens “. Diese Eigenschaft wird in Qt 7 entfernt.

Diese Eigenschaft enthält den gewünschten Geltungsbereich, der die vom Client angeforderten Berechtigungen definiert.

Der Geltungsbereichswert wird auf den vom Autorisierungsserver gewährten Geltungsbereichswert aktualisiert. Im Falle einer leeren Geltungsbereichsantwort wird der angeforderte Geltungsbereich als gewährt angesehen und ändert sich nicht.

Die Tatsache, dass diese Eigenschaft zwei verschiedene Funktionen erfüllt – zunächst als angeforderter Geltungsbereich und später als gewährter Geltungsbereich – ist ein historisches Relikt. Für allen neuen Code wird empfohlen, QAbstractOAuth2::requestedScopeTokens und QAbstractOAuth2::grantedScopeTokens zu verwenden.

Zugriffsfunktionen:

QString scope() const
void setScope(const QString &scope)

Notifier-Signal:

void scopeChanged(const QString &scope)

Siehe auch QAbstractOAuth2::grantedScopeTokens und QAbstractOAuth2::requestedScopeTokens.

state : QString

Diese Eigenschaft enthält die Zeichenfolge, die während der Authentifizierung an den Server gesendet wurde. Der Status dient dazu, die Anfrage zu identifizieren und zu validieren, wenn der Callback empfangen wird.

Wurde zu Beginn des Autorisierungsablaufs kein Status festgelegt, wird automatisch ein zufälliger Status mit 32 Zeichen generiert. Dies ist die Standardeinstellung und die empfohlene Vorgehensweise.

Dieser Status ist der primäre Schutz vor Cross-Site-Request-Forgery und sollte daher ein ausreichendes Maß an Zufälligkeit aufweisen. Wenn Sie ihn manuell festlegen, sollten Sie mindestens 32 zufällige Zeichen verwenden.

Bestimmte Zeichen sind im „state“-Element unzulässig (siehe RFC 6749). Die Verwendung unzulässiger Zeichen könnte zu einer unbeabsichtigten Statusdiskrepanz und einer fehlgeschlagenen OAuth-2-Autorisierung führen. Wenn Sie daher versuchen, einen Wert festzulegen, der unzulässige Zeichen enthält, wird der Status ignoriert und eine Warnung protokolliert.

Zugriffsfunktionen:

QString state() const
void setState(const QString &state)

Benachrichtigungssignal:

void stateChanged(const QString &state)

[since 6.9] tokenUrl : QUrl

Diese Eigenschaft enthält die URL des Token-Endpunkts, über den Token abgerufen werden. Je nach Anwendungsfall und Unterstützung durch den Autorisierungsserver kann es sich bei diesen Token um Zugriffstoken, Aktualisierungstoken und ID-Token handeln.

Token werden in der Regel abgerufen, sobald die Autorisierungsphase abgeschlossen ist, und der Token-Endpunkt kann bei Bedarf auch zum Aktualisieren von Token verwendet werden.

Beispielsweise verwendet QOAuth2AuthorizationCodeFlow diese URL, um eine Anfrage für ein Zugriffstoken zu stellen, und QOAuth2DeviceAuthorizationFlow nutzt diese URL, um ein Zugriffstoken abzufragen.

Diese Aufzählung wurde in Qt 6.9 eingeführt.

Zugriffsfunktionen:

QUrl tokenUrl() const
void setTokenUrl(const QUrl &tokenUrl)

Notifier-Signal:

void tokenUrlChanged(const QUrl &tokenUrl)

userAgent : QString

Diese Eigenschaft enthält den User-Agent-Header, der zum Erstellen der Netzwerkanfragen verwendet wird.

Der Standardwert lautet „QtOAuth/1.0 (+https://www.qt.io)“.

Zugriffsfunktionen:

QString userAgent() const
void setUserAgent(const QString &userAgent)

Notifier-Signal:

void userAgentChanged(const QString &userAgent)

Dokumentation der Mitgliedsfunktionen

[explicit] QAbstractOAuth2::QAbstractOAuth2(QObject *parent = nullptr)

Erstellt ein QAbstractOAuth2-Objekt, wobei „ parent “ als übergeordnetes Objekt verwendet wird.

[explicit] QAbstractOAuth2::QAbstractOAuth2(QNetworkAccessManager *manager, QObject *parent = nullptr)

Erstellt ein QAbstractOAuth2-Objekt, wobei „ parent “ als übergeordnetes Objekt verwendet wird, und legt „ manager “ als Netzwerkzugriffsmanager fest.

[virtual noexcept] QAbstractOAuth2::~QAbstractOAuth2()

Löscht die Instanz „ QAbstractOAuth2 “.

[signal, since 6.9] void QAbstractOAuth2::accessTokenAboutToExpire()

Das Signal wird ausgesendet, wenn das Zugriffstoken kurz vor dem Ablauf steht.

Um dieses Signal auszulösen, muss das Zugriffstoken über eine gültige Ablaufzeit verfügen. Eine Alternative zur manuellen Behandlung dieses Signals ist die Verwendung von ` autoRefresh`.

Diese Funktion wurde in Qt 6.9 eingeführt.

Siehe auch refreshLeadTime, autoRefresh und refreshTokens().

[signal] void QAbstractOAuth2::authorizationCallbackReceived(const QVariantMap &data)

Signal, das ausgesendet wird, wenn der Antwortserver den Autorisierungs-Callback vom Server empfängt: ` data ` enthält die vom Server empfangenen Werte.

void QAbstractOAuth2::clearNetworkRequestModifier()

Löscht den Netzwerk-Anforderungsmodifikator.

Siehe auch ` setNetworkRequestModifier()`.

[virtual invokable] QUrl QAbstractOAuth2::createAuthenticatedUrl(const QUrl &url, const QVariantMap &parameters = QVariantMap())

Die zurückgegebene URL basiert auf url und wird mit dem angegebenen parameters sowie dem Zugriffstoken kombiniert.

Hinweis: Diese Funktion kann über das Metaobjekt-System und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

[signal, until 6.13] void QAbstractOAuth2::error(const QString &error, const QString &errorDescription, const QUrl &uri)

Diese Funktion wird in Version 6.13 als veraltet markiert.

Verwenden Sie stattdessen „ serverReportedErrorOccurred “

Signal, das ausgelöst wird, wenn der Autorisierungsserver bei der Verarbeitung einer Autorisierungs- oder Token-Anfrage – einschließlich einer Token-Aktualisierungsanfrage – einen Fehler meldet, wie in der Fehlerantwort gemäß RFC 6749 definiert.

error ist der Name des Fehlers; errorDescription beschreibt den Fehler und uri ist eine optionale URI, die weitere Informationen zum Fehler enthält.

Siehe auch QAbstractOAuth::requestFailed() und QAbstractOAuth2::serverReportedErrorOccurred().

[override virtual] void QAbstractOAuth2::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray())

Implementiert: ` QAbstractOAuth::prepareRequest` (`QNetworkRequest *request, const QByteArray &verb, const QByteArray &body`).

QString QAbstractOAuth2::refreshToken() const

Ruft das aktuelle Aktualisierungstoken ab.

Aktualisierungstoken haben in der Regel eine längere Gültigkeitsdauer als Zugriffstoken, daher ist es sinnvoll, sie für die spätere Verwendung zu speichern.

Gibt das aktuelle Aktualisierungstoken zurück oder eine leere Zeichenkette, falls kein Aktualisierungstoken verfügbar ist.

Hinweis: Getter -Funktion für die Eigenschaft „refreshToken“.

Siehe auch „ setRefreshToken()“.

[slot, since 6.9] void QAbstractOAuth2::refreshTokens()

Rufen Sie diese Funktion auf, um die Tokens zu aktualisieren. Die Funktion ruft ` refreshTokensImplementation()` auf, um die eigentliche Aktualisierung durchzuführen.

Diese Funktion wurde in Qt 6.9 eingeführt.

Siehe auch ` refreshTokensImplementation()` und ` autoRefresh`.

[protected slot, since 6.9] void QAbstractOAuth2::refreshTokensImplementation()

Dieser Slot wird von refreshTokens() aufgerufen, um die Anfrage zur Aktualisierung des Tokens zu senden.

Die abgeleiteten Klassen sollten diesen Slot neu implementieren, um die Token-Aktualisierung zu unterstützen:

class MyClass : public QAbstractOAuth2
{
    ...
protected Q_SLOTS:
    void refreshTokensImplementation() QT7_ONLY(override);
};

void MyClass::refreshTokensImplementation()
{
    qDebug("refresh");
}

Diese Funktion wurde in Qt 6.9 eingeführt.

Siehe auch autoRefresh und accessTokenAboutToExpire().

QString QAbstractOAuth2::responseType() const

Gibt den verwendeten response_type zurück.

[signal, since 6.9] void QAbstractOAuth2::serverReportedErrorOccurred(const QString &error, const QString &errorDescription, const QUrl &uri)

Signal, das ausgegeben wird, wenn der Autorisierungsserver bei der Verarbeitung einer Autorisierungs- oder Token-Anfrage – einschließlich einer Token-Aktualisierungsanfrage – einen Fehler meldet, wie in der Fehlerantwort gemäß RFC 6749 definiert.

error ist der Name des Fehlers; errorDescription beschreibt den Fehler und uri ist eine optionale URI, die weitere Informationen zum Fehler enthält.

Um alle Fehler, einschließlich dieser in RFC definierten Fehler, mit einem einzigen Signal abzufangen, verwenden Sie QAbstractOAuth::requestFailed().

Diese Funktion wurde in Qt 6.9 eingeführt.

[since 6.9] template <typename Functor> requires if_compatible_callback<Functor> void QAbstractOAuth2::setNetworkRequestModifier(const QAbstractOAuth2::ContextTypeForFunctor<Functor> *context, Functor &&callback)

Legt die Funktion zur Änderung von Netzwerkanfragen auf „ callback “ fest. Diese Funktion dient dazu, die an den Server gesendeten Netzwerkanfragen anzupassen.

callback Muss die Signatur ` void(QNetworkRequest&, QAbstractOAuth::Stage)` implementieren. Das übergebene ` QNetworkRequest ` kann direkt geändert werden und wird unmittelbar nach Beendigung des Callbacks verwendet. ` callback ` kann ein Funktionszeiger, ein Lambda, eine Member-Funktion oder ein beliebiges aufrufbares Objekt sein. Das übergebene ` QAbstractOAuth::Stage ` kann verwendet werden, um zu prüfen, auf welche Phase sich die Anfrage bezieht (Token-Anfrage, Token-Aktualisierungsanfrage oder Autorisierungsanfrage im Fall von ` QOAuth2DeviceAuthorizationFlow`).

context steuert die Lebensdauer der Aufrufe und verhindert den Zugriff auf freigegebene Ressourcen, falls context zerstört wird. Mit anderen Worten: Wird das als Kontext übergebene Objekt zerstört, werden die Callbacks nicht ausgeführt. ` context ` muss auf ein gültiges ` QObject ` verweisen (und falls es sich bei dem Callback um eine Memberfunktion handelt, muss diese tatsächlich vorhanden sein). Da die Ergebnisse des Callbacks sofort verwendet werden, muss sich ` context ` im selben Thread wie die ` QAbstractOAuth2 `-Instanz befinden.

Diese Funktion wurde in Qt 6.9 eingeführt.

Siehe auch „ clearNetworkRequestModifier()“ und „QNetworkRequest“.

void QAbstractOAuth2::setRefreshToken(const QString &refreshToken)

Legt das neue Aktualisierungstoken fest, das mit ` refreshToken ` verwendet werden soll.

Ein benutzerdefiniertes Aktualisierungstoken kann verwendet werden, um das Zugriffstoken über diese Methode zu aktualisieren; anschließend kann das Zugriffstoken über refreshTokens() aktualisiert werden.

Hinweis: Setter -Funktion für die Eigenschaft „ refreshToken “.

Siehe auch ` refreshToken()`.

[since 6.5] void QAbstractOAuth2::setSslConfiguration(const QSslConfiguration &configuration)

Legt die TLS- configuration fest, die beim Aufbau einer gegenseitigen TLS-Verbindung zwischen dem Client und dem Autorisierungsserver verwendet werden soll.

Diese Funktion wurde in Qt 6.5 eingeführt.

Siehe auch „ sslConfiguration()“ und „ sslConfigurationChanged()“.

[since 6.5] QSslConfiguration QAbstractOAuth2::sslConfiguration() const

Gibt die TLS-Konfiguration zurück, die beim Aufbau einer gegenseitigen TLS-Verbindung zwischen dem Client und dem Autorisierungsserver verwendet werden soll.

Diese Funktion wurde in Qt 6.5 eingeführt.

Siehe auch „ setSslConfiguration()“ und „ sslConfigurationChanged()“.

[signal, since 6.5] void QAbstractOAuth2::sslConfigurationChanged(const QSslConfiguration &configuration)

Das Signal wird ausgelöst, wenn sich die TLS-Konfiguration geändert hat. Der Parameter „ configuration “ enthält die neue TLS-Konfiguration.

Diese Funktion wurde in Qt 6.5 eingeführt.

Siehe auch „ sslConfiguration()“ und „ setSslConfiguration()“.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.