QAbstractOAuth2 Class
Die Klasse QAbstractOAuth2 ist die Basis für alle Implementierungen von OAuth 2-Authentifizierungsmethoden. Mehr...
Kopfzeile: | #include <QAbstractOAuth2> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS NetworkAuth) target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth) |
qmake: | QT += networkauth |
Vererbt: | QAbstractOAuth |
Vererbt von: | 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 ¶meters = QVariantMap()) |
QDateTime | expirationAt() const |
QSet<QByteArray> | grantedScopeTokens() const |
QString | idToken() const |
QString | nonce() const |
QAbstractOAuth2::NonceMode | nonceMode() const |
(until 6.11) virtual QNetworkReply * | post(const QUrl &url, QHttpMultiPart *multiPart) |
(until 6.11) virtual QNetworkReply * | post(const QUrl &url, const QByteArray &data) |
(until 6.11) virtual QNetworkReply * | put(const QUrl &url, QHttpMultiPart *multiPart) |
(until 6.11) virtual QNetworkReply * | put(const QUrl &url, const QByteArray &data) |
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 |
Reimplementierte öffentliche Funktionen
(until 6.11) virtual QNetworkReply * | deleteResource(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
(until 6.11) virtual QNetworkReply * | get(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
(until 6.11) virtual QNetworkReply * | head(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
(until 6.11) virtual QNetworkReply * | post(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
virtual void | prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray()) override |
(until 6.11) virtual QNetworkReply * | put(const QUrl &url, const QVariantMap ¶meters = 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 Steckplätze
(since 6.9) void | refreshTokensImplementation() |
Detaillierte Beschreibung
Die Klasse definiert die grundlegende Schnittstelle der OAuth 2-Authentifizierungsklassen. Durch Vererbung 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 in: Das OAuth 2.0 Autorisierungs-Framework
Member Type Dokumentation
[since 6.9]
enum class QAbstractOAuth2::NonceMode
Liste der verfügbaren Nonce-Modi.
Konstante | Wert | Beschreibung |
---|---|---|
QAbstractOAuth2::NonceMode::Automatic | 0 | Nonce wird gesendet, wenn die requested scope openid enthält. Dies ist der Standardmodus, bei dem nonce nur gesendet wird, wenn es für die OIDC-Authentifizierungsabläufe relevant ist. |
QAbstractOAuth2::NonceMode::Enabled | 1 | Nonce wird während der Autorisierungsphase gesendet. |
QAbstractOAuth2::NonceMode::Disabled | 2 | Nonce wird während der Autorisierungsphase nicht gesendet. |
Dieses Enum wurde in Qt 6.9 eingeführt.
Siehe auch nonce und Qt OAuth2 Übersicht.
Dokumentation der Eigenschaft
[since 6.9]
autoRefresh : bool
Diese Eigenschaft aktiviert oder deaktiviert die automatische Aktualisierung des Zugangstokens.
Diese Eigenschaft aktiviert oder deaktiviert die automatische Auffrischung des Zugriffstokens. Dies ist nützlich für Anwendungen, die eine ununterbrochene Autorisierung ohne Benutzereingriff erfordern.
Wenn diese Eigenschaft true
ist, wird refreshTokens() automatisch aufgerufen, wenn das Token bald abläuft und ein gültiges refreshToken existiert.
Diese Eigenschaft 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 Client-Schlüssel, der als Kennwort verwendet wird, wenn der Server für die Anforderung des Tokens eine Authentifizierung verlangt.
Zugriffsfunktionen:
QString | clientIdentifierSharedKey() const |
void | setClientIdentifierSharedKey(const QString &clientIdentifierSharedKey) |
Benachrichtigungssignal:
void | clientIdentifierSharedKeyChanged(const QString &clientIdentifierSharedKey) |
[read-only]
expiration : const QDateTime
Diese Eigenschaft enthält die Ablaufzeit des aktuellen Zugriffstokens. Ein ungültiger Wert bedeutet, dass der Autorisierungsserver keine gültige Verfallszeit angegeben hat.
Zugriffsfunktionen:
QDateTime | expirationAt() const |
Benachrichtigungssignal:
void | expirationAtChanged(const QDateTime &expiration) |
Siehe auch QDateTime::isValid().
[read-only, since 6.9]
grantedScopeTokens : const 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 kann sich dafür entschieden haben, nur eine Teilmenge des Geltungsbereichs zu gewähren, oder serverseitige Richtlinien können ihn ändern. Die Anwendung sollte auf dieses Szenario vorbereitet sein und den gewährten Umfang überprüfen, um festzustellen, ob er sich auf die Anwendungslogik auswirken sollte.
Der Server kann, wie in RFC 6749 definiert, auf die Angabe des gewährten Bereichs ganz verzichten. In diesem Fall geht die Implementierung davon aus, dass der gewährte Geltungsbereich mit dem angeforderten Geltungsbereich identisch ist.
Diese Eigenschaft 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 : const QString
Diese Eigenschaft enthält das empfangene OpenID Connect ID-Token.
Diese Eigenschaft wurde in Qt 6.9 eingeführt.
Zugriffsfunktionen:
QString | idToken() const |
Benachrichtigungssignal:
void | idTokenChanged(const QString &idToken) |
Siehe auch NonceMode, nonce, und Qt OpenID Connect Support.
[since 6.9]
nonce : QString
Diese Eigenschaft enthält die Zeichenfolge, die während der Authentifizierung an den Server gesendet wird. Die Nonce wird verwendet, um anwendbare Token-Antworten (insbesondere OpenID Connect id_token
) mit der Autorisierungsphase zu verknüpfen.
Der Hauptzweck von nonce
ist es, Wiederholungsangriffe zu entschärfen. Sie stellt sicher, dass die empfangenen Token-Antworten eine Antwort auf die von der Anwendung initiierten Authentifizierungsanfragen sind, was Angreifer daran hindert, Token in nicht autorisierten Kontexten wiederzuverwenden. Daher ist es wichtig, die Überprüfung der Nonce als Teil der Token-Validierung einzubeziehen.
In der Praxis können Anbieter von Autorisierungsservern die OpenID Connect-Anfrage ablehnen, wenn keine Nonce in der Autorisierungsanfrage angegeben wird.
Das Token selbst ist eine undurchsichtige Zeichenfolge und sollte nur URL-sichere Zeichen für maximale Kompatibilität enthalten. Außerdem muss das Token eine ausreichende Entropie bieten , so dass es für Angreifer nicht zu erraten ist. Es gibt keine strengen Größenbeschränkungen für Nonce, und die Anbieter von Autorisierungsservern können ihre eigenen Mindest- und Höchstgrößen festlegen.
Während nonce
manuell eingestellt werden kann, generieren Qt-Klassen eine 32-Zeichen-Nonce when needed, wenn keine eingestellt ist.
Diese Eigenschaft 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 Support.
[since 6.9]
nonceMode : NonceMode
Diese Eigenschaft enthält den aktuellen Nonce-Modus (ob Nonce verwendet wird oder nicht).
Diese Eigenschaft 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 lange vor dem Ablauf des Zugangstokens das Signal accessTokenAboutToExpire() ausgegeben wird.
Diese Eigenschaft gibt das Zeitintervall (in Sekunden) vor dem Verfall des aktuellen Zugriffstokens an, in dem das Signal accessTokenAboutToExpire() ausgegeben wird. Der für diese Eigenschaft festgelegte Wert muss eine positive Dauer sein.
Dieses Intervall ermöglicht es der Anwendung, das Token rechtzeitig zu aktualisieren, um eine kontinuierliche Autorisierung ohne Unterbrechungen zu gewährleisten.
Wird diese Eigenschaft nicht explizit festgelegt oder ist die angegebene leadTime größer als die Lebensdauer des Tokens, wird die leadTime standardmäßig auf 5 % der verbleibenden Lebensdauer des Tokens festgelegt, jedoch nicht weniger als 10 Sekunden vor dem Ablauf (so dass noch Zeit für die Aktualisierungsanforderung verbleibt).
Hinweis: Das Ablaufsignal funktioniert nur, wenn der Autorisierungsserver eine geeignete Ablaufzeit angegeben hat.
Diese Eigenschaft 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.
[since 6.9]
requestedScopeTokens : QSet<QByteArray>
Diese Eigenschaft enthält den gewünschten Bereich, der die vom Client angeforderten Berechtigungen definiert.
Hinweis: Bereichs-Token sind auf eine Teilmenge von druckbaren US-ASCII-Zeichen beschränkt. Die Verwendung von Zeichen außerhalb dieses Bereichs wird nicht unterstützt.
Diese Eigenschaft 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 Eigenschaft soll in Version 6.13 veraltet sein.
Verwenden Sie stattdessen die Eigenschaften requestedScopeTokens und grantedScopeTokens. Diese Eigenschaft wird in Qt 7 entfernt werden.
Diese Eigenschaft enthält den gewünschten Bereich, der die vom Client angeforderten Berechtigungen definiert.
Der Bereichswert wird auf den vom Autorisierungsserver gewährten Bereichswert aktualisiert. Im Falle einer leeren Scope-Antwort wird der angeforderte Scope als gewährt angenommen und ändert sich nicht.
Die Tatsache, dass diese Eigenschaft zwei verschiedene Funktionen erfüllt, zunächst als angeforderter Bereich und später als gewährter Bereich, ist ein historisches Artefakt. Allen neuen Codes 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 wird. Der Status wird verwendet, um die Anfrage zu identifizieren und zu validieren, wenn der Callback empfangen wird.
Bestimmte Zeichen sind im Statuselement nicht zulässig (siehe RFC 6749). Die Verwendung unzulässiger Zeichen kann zu einer unbeabsichtigten Fehlanpassung des Status und einer fehlgeschlagenen OAuth-2-Autorisierung führen. Wenn Sie daher versuchen, einen Wert zu setzen, 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 Token-Endpunkt-URL, die zum Abrufen von Token verwendet wird. Je nach Anwendungsfall und Unterstützung des Autorisierungsservers können diese Token Zugriffstoken, Aktualisierungs-Token und ID-Token sein.
Token werden in der Regel abgerufen, sobald die Autorisierungsphase abgeschlossen ist, und der Token-Endpunkt kann bei Bedarf auch zur Aktualisierung von Token verwendet werden.
Zum Beispiel verwendet QOAuth2AuthorizationCodeFlow diese URL, um eine Zugriffstoken-Anfrage zu stellen, und QOAuth2DeviceAuthorizationFlow verwendet diese URL , um ein Zugriffstoken abzufragen.
Diese Eigenschaft wurde in Qt 6.9 eingeführt.
Zugriffsfunktionen:
QUrl | tokenUrl() const |
void | setTokenUrl(const QUrl &tokenUrl) |
Benachrichtigungssignal:
void | tokenUrlChanged(const QUrl &tokenUrl) |
userAgent : QString
Diese Eigenschaft enthält den User-Agent-Header, der für die Erstellung der Netzwerkanfragen verwendet wird.
Der Standardwert ist "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)
Konstruiert ein QAbstractOAuth2-Objekt mit parent als Elternteil.
[explicit]
QAbstractOAuth2::QAbstractOAuth2(QNetworkAccessManager *manager, QObject *parent = nullptr)
Konstruiert ein QAbstractOAuth2-Objekt mit parent als übergeordnetem Objekt und setzt manager als Netzwerkzugriffsmanager.
[virtual noexcept]
QAbstractOAuth2::~QAbstractOAuth2()
Zerstört die Instanz QAbstractOAuth2.
[signal, since 6.9]
void QAbstractOAuth2::accessTokenAboutToExpire()
Das Signal wird ausgegeben, wenn das Zugangstoken in Kürze abläuft.
Die Ausgabe dieses Signals setzt voraus, dass das Zugriffstoken eine gültige Verfallszeit hat. Eine Alternative zur manuellen Handhabung 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 ausgegeben wird, wenn der Antwortserver den Autorisierungs-Callback vom Server erhält: data enthält die vom Server erhaltenen Werte.
void QAbstractOAuth2::clearNetworkRequestModifier()
Löscht den Netzanforderungsmodifikator.
Siehe auch setNetworkRequestModifier().
[virtual invokable]
QUrl QAbstractOAuth2::createAuthenticatedUrl(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Die zurückgegebene URL basiert auf url und kombiniert diese mit dem angegebenen parameters und dem Zugriffstoken.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[override virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::deleteResource(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Diese Funktion soll in Version 6.11 veraltet sein.
Reimplements: QAbstractOAuth::deleteResource(const QUrl &url, const QVariantMap ¶meters).
Bitte verwenden Sie stattdessen direkt die QtNetwork Klassen, siehe HTTP Methoden Alternativen.
Sendet eine authentifizierte DELETE-Anfrage und gibt eine neue QNetworkReply zurück. Die Klassen url und parameters werden verwendet, um die Anfrage zu erstellen.
Siehe auch: Hypertext Transfer Protocol - HTTP/1.1: DELETE
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[signal, until 6.13]
void QAbstractOAuth2::error(const QString &error, const QString &errorDescription, const QUrl &uri)
Diese Funktion soll in Version 6.13 veraltet sein.
Verwenden Sie stattdessen serverReportedErrorOccurred
Signal, das ausgegeben wird, wenn der Server auf die Autorisierungsanfrage mit einem Fehler gemäß der Definition in RFC 6749 error response antwortet.
error ist der Name des Fehlers; errorDescription beschreibt den Fehler und uri ist ein optionaler URI, der weitere Informationen über den Fehler enthält.
Siehe auch QAbstractOAuth::requestFailed() und QAbstractOAuth2::serverReportedErrorOccurred().
[override virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::get(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Diese Funktion soll in Version 6.11 veraltet sein.
Reimplements: QAbstractOAuth::get(const QUrl &url, const QVariantMap ¶meters).
Bitte verwenden Sie stattdessen direkt die QtNetwork Klassen, siehe HTTP Methoden Alternativen.
Sendet eine authentifizierte GET-Anfrage und gibt eine neue QNetworkReply zurück. Die Klassen url und parameters werden verwendet, um die Anfrage zu erstellen.
Siehe auch: Hypertext Transfer Protocol - HTTP/1.1: GET
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[override virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::head(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Diese Funktion soll in Version 6.11 veraltet sein.
Reimplements: QAbstractOAuth::head(const QUrl &url, const QVariantMap ¶meters).
Bitte verwenden Sie stattdessen direkt die QtNetwork Klassen, siehe HTTP Methoden Alternativen.
Sendet eine authentifizierte HEAD-Anfrage und gibt eine neue QNetworkReply zurück. Die Klassen url und parameters werden verwendet, um die Anfrage zu erstellen.
Siehe auch: Hypertext Transfer Protocol - HTTP/1.1: HEAD
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[override virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::post(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Diese Funktion soll in Version 6.11 veraltet sein.
Reimplements: QAbstractOAuth::post(const QUrl &url, const QVariantMap ¶meters).
Bitte verwenden Sie stattdessen direkt die QtNetwork Klassen, siehe HTTP Methoden Alternativen.
Sendet eine authentifizierte POST-Anfrage und gibt eine neue QNetworkReply zurück. Die Klassen url und parameters werden verwendet, um die Anfrage zu erstellen.
Siehe auch: Hypertext Transfer Protocol - HTTP/1.1: POST
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::post(const QUrl &url, QHttpMultiPart *multiPart)
Diese Funktion soll in Version 6.11 abgeschafft werden.
Bitte verwenden Sie stattdessen direkt die QtNetwork Klassen, siehe HTTP-Methodenalternativen.
Dies ist eine überladene Funktion.
Sendet eine authentifizierte POST-Anfrage und gibt eine neue QNetworkReply zurück. Die Klassen url und multiPart werden verwendet, um die Anfrage zu erstellen.
{Hypertext Transfer Protocol - HTTP/1.1: POST}
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
Siehe auch post(), QHttpMultiPart, und https://tools.ietf.org/html/rfc2616#section-9.6.
[virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::post(const QUrl &url, const QByteArray &data)
Diese Funktion soll in Version 6.11 abgeschafft werden.
Bitte verwenden Sie stattdessen direkt die QtNetwork Klassen, siehe HTTP-Methodenalternativen.
Dies ist eine überladene Funktion.
Sendet eine authentifizierte POST-Anfrage und gibt eine neue QNetworkReply zurück. Die Klassen url und data werden verwendet, um die Anfrage zu erstellen.
{Hypertext Transfer Protocol - HTTP/1.1: POST}
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
Siehe auch post() und https://tools.ietf.org/html/rfc2616#section-9.6.
[override virtual]
void QAbstractOAuth2::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray())
Reimplements: QAbstractOAuth::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body).
[override virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::put(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Diese Funktion soll in Version 6.11 veraltet sein.
Reimplements: QAbstractOAuth::put(const QUrl &url, const QVariantMap ¶meters).
Bitte verwenden Sie stattdessen direkt die QtNetwork Klassen, siehe HTTP Methoden Alternativen.
Sendet eine authentifizierte PUT-Anfrage und gibt eine neue QNetworkReply zurück. Die Klassen url und parameters werden verwendet, um die Anfrage zu erstellen.
Siehe auch: Hypertext Transfer Protocol - HTTP/1.1: PUT
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::put(const QUrl &url, QHttpMultiPart *multiPart)
Diese Funktion soll in Version 6.11 abgeschafft werden.
Bitte verwenden Sie stattdessen direkt die QtNetwork Klassen, siehe HTTP-Methodenalternativen.
Dies ist eine überladene Funktion.
Sendet eine authentifizierte PUT-Anfrage und gibt eine neue QNetworkReply zurück. Die Klassen url und multiPart werden verwendet, um die Anfrage zu erstellen.
{Hypertext Transfer Protocol - HTTP/1.1: PUT}
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
Siehe auch put(), QHttpMultiPart, und https://tools.ietf.org/html/rfc2616#section-9.6.
[virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::put(const QUrl &url, const QByteArray &data)
Diese Funktion soll in Version 6.11 abgeschafft werden.
Bitte verwenden Sie stattdessen direkt die QtNetwork Klassen, siehe HTTP-Methodenalternativen.
Dies ist eine überladene Funktion.
Sendet eine authentifizierte PUT-Anfrage und gibt eine neue QNetworkReply zurück. Die Klassen url und data werden verwendet, um die Anfrage zu erstellen.
{Hypertext Transfer Protocol - HTTP/1.1: PUT}
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
Siehe auch put() und https://tools.ietf.org/html/rfc2616#section-9.6.
QString QAbstractOAuth2::refreshToken() const
Ruft das aktuelle Aktualisierungs-Token ab.
Refresh-Token haben in der Regel eine längere Lebensdauer als Access-Token, daher ist es sinnvoll, sie für eine spätere Verwendung zu speichern.
Gibt das aktuelle Refresh-Token oder einen leeren String zurück, wenn kein Refresh-Token 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 Token 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 Token-Aktualisierungsanforderung zu senden.
Die abgeleiteten Klassen sollten diesen Slot reimplementieren, 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 Server auf die Autorisierungsanfrage mit einem Fehler gemäß der Definition in RFC 6749 error response antwortet.
error ist der Name des Fehlers; errorDescription beschreibt den Fehler und uri ist ein optionaler URI, der weitere Informationen über den Fehler enthält.
Um alle Fehler, einschließlich dieser 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, QAbstractOAuth2::if_compatible_callback<Functor> = true> void QAbstractOAuth2::setNetworkRequestModifier(const QAbstractOAuth2::ContextTypeForFunctor<Functor> *context, Functor &&callback)
Setzt die Funktion zur Änderung von Netzwerkanfragen auf callback. Diese Funktion wird zur Anpassung der an den Server gesendeten Netzwerkanfragen verwendet.
callback muss die Signatur void(QNetworkRequest&, QAbstractOAuth::Stage)
implementieren. Die bereitgestellte QNetworkRequest kann direkt geändert werden und wird direkt nach Beendigung des Rückrufs verwendet. callback kann ein Funktionszeiger, Lambda, eine Mitgliedsfunktion oder ein beliebiges aufrufbares Objekt sein. Die bereitgestellte QAbstractOAuth::Stage kann verwendet werden, um zu prüfen, auf welche Stufe sich die Anforderung bezieht (Token-Anforderung, Token-Auffrischungsanforderung oder Autorisierungsanforderung im Falle von QOAuth2DeviceAuthorizationFlow).
context kontrolliert die Lebensdauer der Aufrufe und verhindert den Zugriff auf freigegebene Ressourcen, falls context zerstört wird. Mit anderen Worten, wenn das als Kontext bereitgestellte Objekt zerstört wird, werden die Callbacks nicht ausgeführt. context muss auf ein gültiges QObject verweisen (und falls der Callback eine Mitgliedsfunktion ist, muss er diese auch haben). 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 zu verwendende neue Aktualisierungs-Token refreshToken fest.
Ein benutzerdefiniertes Aktualisierungs-Token kann verwendet werden, um das Zugriffs-Token über diese Methode zu aktualisieren, und dann kann das Zugriffs-Token ü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 ausgegeben, 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().
© 2025 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.