Auf dieser Seite

QAbstractOAuth Class

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

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

QAbstractOAuth2 und QOAuth1

Öffentliche Typen

enum class ContentType { WwwFormUrlEncoded, Json }
enum class Error { NoError, NetworkError, ServerError, OAuthTokenNotFoundError, OAuthTokenSecretNotFoundError, …, ExpiredError }
enum class Stage { RequestingTemporaryCredentials, RequestingAuthorization, RequestingAccessToken, RefreshingAccessToken }
enum class Status { NotAuthenticated, TemporaryCredentialsReceived, Granted, RefreshingToken }

Eigenschaften

Öffentliche Funktionen

virtual ~QAbstractOAuth()
QUrl authorizationUrl() const
QString clientIdentifier() const
QAbstractOAuth::ContentType contentType() const
virtual QNetworkReply *deleteResource(const QUrl &url, const QVariantMap &parameters = QVariantMap()) = 0
QVariantMap extraTokens() const
virtual QNetworkReply *get(const QUrl &url, const QVariantMap &parameters = QVariantMap()) = 0
virtual QNetworkReply *head(const QUrl &url, const QVariantMap &parameters = QVariantMap()) = 0
QAbstractOAuth::ModifyParametersFunction modifyParametersFunction() const
QNetworkAccessManager *networkAccessManager() const
virtual QNetworkReply *post(const QUrl &url, const QVariantMap &parameters = QVariantMap()) = 0
virtual void prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray()) = 0
virtual QNetworkReply *put(const QUrl &url, const QVariantMap &parameters = QVariantMap()) = 0
QAbstractOAuthReplyHandler *replyHandler() const
void setAuthorizationUrl(const QUrl &url)
void setClientIdentifier(const QString &clientIdentifier)
void setContentType(QAbstractOAuth::ContentType contentType)
void setModifyParametersFunction(const QAbstractOAuth::ModifyParametersFunction &modifyParametersFunction)
void setNetworkAccessManager(QNetworkAccessManager *networkAccessManager)
void setReplyHandler(QAbstractOAuthReplyHandler *handler)
void setToken(const QString &token)
QAbstractOAuth::Status status() const
QString token() const

Öffentliche Slots

virtual void grant() = 0

Signale

void authorizationUrlChanged(const QUrl &url)
void authorizeWithBrowser(const QUrl &url)
void clientIdentifierChanged(const QString &clientIdentifier)
void contentTypeChanged(QAbstractOAuth::ContentType contentType)
void extraTokensChanged(const QVariantMap &tokens)
void granted()
void requestFailed(const QAbstractOAuth::Error error)
void statusChanged(QAbstractOAuth::Status status)
void tokenChanged(const QString &token)

Geschützte Funktionen

QString callback() const
virtual void resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> &parameters)
void setStatus(QAbstractOAuth::Status status)

Statische geschützte Mitglieder

QByteArray generateRandomString(quint8 length)

Ausführliche Beschreibung

Die Klasse definiert die grundlegende Schnittstelle der OAuth-Authentifizierungsklassen. Durch Vererbung dieser Klasse können Sie benutzerdefinierte Authentifizierungsmethoden für verschiedene Webdienste erstellen.

Außerdem enthält sie einige Funktionen, die die Implementierung verschiedener Authentifizierungsabläufe erleichtern.

Dokumentation zu den Elementtypen

enum class QAbstractOAuth::ContentType

Gibt den MIME-Content-Type der POST-Methoden bei authentifizierten Aufrufen an.

KonstanteWertBeschreibung
QAbstractOAuth::ContentType::WwwFormUrlEncoded0Verwendet das Format „application/x-www-form-urlencoded“.
QAbstractOAuth::ContentType::Json1Verwendet das Format „application/json“.

enum class QAbstractOAuth::Error

Zeigt den zuletzt empfangenen Fehler an.

KonstanteWertBeschreibung
QAbstractOAuth::Error::NoError0Es ist kein Fehler aufgetreten.
QAbstractOAuth::Error::NetworkError1Die Verbindung zum Server konnte nicht hergestellt werden.
QAbstractOAuth::Error::ServerError2Der Server hat die Anfrage mit einem Fehler beantwortet oder seine Antwort wurde nicht erfolgreich empfangen (z. B. aufgrund einer Statusdiskrepanz).
QAbstractOAuth::Error::OAuthTokenNotFoundError3Die Antwort des Servers auf eine Token-Anfrage enthielt keine Token-Kennung.
QAbstractOAuth::Error::OAuthTokenSecretNotFoundError4Die Antwort des Servers auf eine Token-Anfrage enthielt kein Token-Geheimnis.
QAbstractOAuth::Error::OAuthCallbackNotVerified5Der Autorisierungsserver hat die in der Anfrage angegebene Callback-URI nicht verifiziert. Dies geschieht in der Regel, wenn der angegebene Callback nicht mit dem bei der Client-Registrierung angegebenen Callback übereinstimmt.
QAbstractOAuth::Error::ClientError (since Qt 6.9)6Ein Fehler, der auf die Client-Anwendung zurückzuführen ist (z. B. fehlende Konfiguration oder Versuch einer Anfrage in einem Zustand, in dem dies nicht zulässig ist). Wird derzeit von QOAuth2DeviceAuthorizationFlow verwendet.
QAbstractOAuth::Error::ExpiredError (since Qt 6.9)7Ein Token ist abgelaufen. Wird derzeit von QOAuth2DeviceAuthorizationFlow verwendet.

enum class QAbstractOAuth::Stage

Bezeichnet eine Authentifizierungsstufe. Sie wird an einen „ modifyParametersFunction “ übergeben, damit dieser bei jedem Aufruf während des Authentifizierungsprozesses verschiedene Änderungen an den Parametern vornehmen kann.

KonstanteWertBeschreibung
QAbstractOAuth::Stage::RequestingTemporaryCredentials0Vorbereitung der Anfrage für temporäre Anmeldedaten.
QAbstractOAuth::Stage::RequestingAuthorization1Vorbereitung der Autorisierungs-Grant-URL.
QAbstractOAuth::Stage::RequestingAccessToken2Vorbereitung der Token-Anfrage.
QAbstractOAuth::Stage::RefreshingAccessToken3Vorbereitung der Aktualisierung des Zugriffstokens.

enum class QAbstractOAuth::Status

Zeigt den aktuellen Authentifizierungsstatus an.

KonstanteWertBeschreibung
QAbstractOAuth::Status::NotAuthenticated0Es wurde kein Token abgerufen.
QAbstractOAuth::Status::TemporaryCredentialsReceived1Es wurden temporäre Anmeldedaten empfangen; dieser Status wird bei einigen OAuth-Authentifizierungsmethoden verwendet.
QAbstractOAuth::Status::Granted2Token-Anmeldedaten wurden empfangen, und authentifizierte Aufrufe sind zulässig.
QAbstractOAuth::Status::RefreshingToken3Neue Token-Anmeldeinformationen wurden angefordert.

Dokumentation zu den Eigenschaften

authorizationUrl : QUrl

Diese Eigenschaft enthält die URL, die zur Anforderung der „Resource Owner Authorization“ verwendet wird, wie beschrieben in: Das OAuth 1.0-Protokoll: Resource Owner Authorization

Zugriffsfunktionen:

QUrl authorizationUrl() const
void setAuthorizationUrl(const QUrl &url)

Benachrichtigungssignal:

void authorizationUrlChanged(const QUrl &url)

clientIdentifier : QString

Diese Eigenschaft enthält die im Authentifizierungsprozess verwendete Client-Kennung.

Zugriffsfunktionen:

QString clientIdentifier() const
void setClientIdentifier(const QString &clientIdentifier)

Benachrichtigungssignal:

void clientIdentifierChanged(const QString &clientIdentifier)

Siehe auch ` setClientIdentifier()`.

contentType : QAbstractOAuth::ContentType

Diese Eigenschaft enthält den Content-Type, der beim Senden von Autorisierungsparametern verwendet werden soll.

Diese Eigenschaft steuert, wie Parameter formatiert werden, wenn sie mit einer POST-Anfrage gesendet werden. Außerdem wird ein entsprechender Header hinzugefügt.

Zugriffsfunktionen:

QAbstractOAuth::ContentType contentType() const
void setContentType(QAbstractOAuth::ContentType contentType)

Benachrichtigungssignal:

void contentTypeChanged(QAbstractOAuth::ContentType contentType)

[read-only] extraTokens : QVariantMap

Diese Eigenschaft enthält die vom Server empfangenen zusätzlichen Token.

Zugriffsfunktionen:

QVariantMap extraTokens() const

Notifier-Signal:

void extraTokensChanged(const QVariantMap &tokens)

[read-only] status : Status

Diese Eigenschaft enthält den aktuellen Authentifizierungsstatus.

Zugriffsfunktionen:

QAbstractOAuth::Status status() const

Benachrichtigungssignal:

void statusChanged(QAbstractOAuth::Status status)

token : QString

Diese Eigenschaft enthält das Token, das zum Signieren authentifizierter Anfragen verwendet wird.

Zugriffsfunktionen:

QString token() const
void setToken(const QString &token)

Benachrichtigungssignal:

void tokenChanged(const QString &token)

Siehe auch „ setToken()“.

Dokumentation der Member-Funktionen

[virtual noexcept] QAbstractOAuth::~QAbstractOAuth()

Löscht das abstrakte OAuth-Objekt.

QUrl QAbstractOAuth::authorizationUrl() const

Gibt die URL der Autorisierungsanfrage zurück.

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

Siehe auch „ setAuthorizationUrl()“.

[signal] void QAbstractOAuth::authorizeWithBrowser(const QUrl &url)

Dieses Signal wird ausgelöst, wenn das von resourceOwnerAuthorization() generierte url im Webbrowser einsatzbereit ist, damit die Anwendung sich als der Benutzer ausgeben kann.

Siehe auch resourceOwnerAuthorization().

[protected] QString QAbstractOAuth::callback() const

Gibt die aktuelle Callback-Zeichenkette zurück, die dem aktuellen Antwort-Handler entspricht. Die zurückgegebene Zeichenkette ist die Zeichenkette, die an den Server gesendet wird, um die Callback-URI anzugeben, oder das Wort, das die alternative Methode bei Geräten ohne Benutzeroberfläche identifiziert.

Siehe auch replyHandler() und setReplyHandler().

QString QAbstractOAuth::clientIdentifier() const

Gibt die aktuelle Client-ID zurück, die im Authentifizierungsprozess verwendet wird.

Hinweis: Getter -Funktion für die Eigenschaft `clientIdentifier`.

Siehe auch „ setClientIdentifier()“.

QAbstractOAuth::ContentType QAbstractOAuth::contentType() const

Gibt den aktuellen Content-Type zurück, der bei authentifizierten Aufrufen verwendet wird.

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

Siehe auch „ setContentType()“ und „ post()“.

[pure virtual invokable] QNetworkReply *QAbstractOAuth::deleteResource(const QUrl &url, const QVariantMap &parameters = QVariantMap())

Sendet eine authentifizierte DELETE-Anfrage und gibt einen neuen „ QNetworkReply “ zurück. Die „ url “ und „ parameters “ werden zum Erstellen der Anfrage verwendet.

Siehe auch: Hypertext Transfer Protocol – HTTP/1.1: DELETE

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

QVariantMap QAbstractOAuth::extraTokens() const

Gibt die zusätzlichen Tokens zurück, die während der Authentifizierung vom Server empfangen wurden.

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

Siehe auch ` extraTokensChanged()`.

[static protected] QByteArray QAbstractOAuth::generateRandomString(quint8 length)

Erzeugt eine zufällige Zeichenfolge, die als Status oder Nonce verwendet werden kann. Der Parameter „ length “ bestimmt die Länge der erzeugten Zeichenfolge.

Siehe auch: Das OAuth 1.0-Protokoll: Nonce und Zeitstempel.

Hinweis: Diese Funktion ist threadsicher.

[pure virtual invokable] QNetworkReply *QAbstractOAuth::get(const QUrl &url, const QVariantMap &parameters = QVariantMap())

Sendet eine authentifizierte GET-Anfrage und gibt einen neuen ` QNetworkReply` zurück. Die ` url ` und ` parameters ` werden zur Erstellung der Anfrage verwendet.

Siehe auch: Hypertext Transfer Protocol – HTTP/1.1: GET

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

[pure virtual slot] void QAbstractOAuth::grant()

Überschreiben Sie diese Funktion, um den entsprechenden Authentifizierungsablauf in den Unterklassen zu implementieren. Der Client-Code ruft diese Funktion auf, um den Authentifizierungsablauf zu starten. Dies kann eine Benutzerinteraktion erfordern, beispielsweise die Abfrage der Autorisierung des Benutzers über einen Webbrowser. Bei erfolgreicher Authentifizierung sollte die Funktion ` granted()` ausgeben; dies signalisiert, dass die Anmeldedaten für authentifizierte Aufrufe bereitstehen.

[signal] void QAbstractOAuth::granted()

Dieses Signal wird ausgegeben, wenn der Autorisierungsablauf erfolgreich abgeschlossen wurde.

Sendet eine authentifizierte HEAD-Anfrage und gibt einen neuen „ QNetworkReply “ zurück. Die „ url “ und „ parameters “ werden zur Erstellung der Anfrage verwendet.

Siehe auch: Hypertext Transfer Protocol – HTTP/1.1: HEAD

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

QAbstractOAuth::ModifyParametersFunction QAbstractOAuth::modifyParametersFunction() const

Gibt die aktuelle Funktion zur Parameteränderung zurück.

Siehe auch setModifyParametersFunction() und Stage.

QNetworkAccessManager *QAbstractOAuth::networkAccessManager() const

Gibt den aktuell verwendeten Netzwerkzugriffsmanager zurück, der zum Senden der Anfragen an den Server während des Authentifizierungsablaufs oder zum Ausführen von Authentifizierungsaufrufen verwendet wird.

Siehe auch setNetworkAccessManager() und QNetworkAccessManager.

[pure virtual invokable] QNetworkReply *QAbstractOAuth::post(const QUrl &url, const QVariantMap &parameters = QVariantMap())

Sendet eine authentifizierte POST-Anfrage und gibt einen neuen „ QNetworkReply “ zurück. Die „ url “ und „ parameters “ werden zur Erstellung der Anfrage verwendet.

Siehe auch: Hypertext Transfer Protocol – HTTP/1.1: POST

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

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

Authentifiziert die angegebene URL „ request “, indem ein Header und der Wert „ body “ hinzugefügt werden, die für authentifizierte Anfragen erforderlich sind.

Die „ verb “ muss ein gültiges HTTP-Verb sein und mit dem Verb übereinstimmen, das zum Senden des „ request “ verwendet wird.

[pure virtual invokable] QNetworkReply *QAbstractOAuth::put(const QUrl &url, const QVariantMap &parameters = QVariantMap())

Sendet eine authentifizierte PUT-Anfrage und gibt einen neuen „ QNetworkReply “ zurück. Die „ url “ und „ parameters “ werden zur Erstellung der Anfrage verwendet.

Siehe auch: Hypertext Transfer Protocol – HTTP/1.1: PUT

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

QAbstractOAuthReplyHandler *QAbstractOAuth::replyHandler() const

Gibt den derzeit verwendeten Antwort-Handler zurück.

Siehe auch setReplyHandler() und QAbstractOAuthReplyHandler.

[signal] void QAbstractOAuth::requestFailed(const QAbstractOAuth::Error error)

Dieses Signal wird ausgegeben, um anzuzeigen, dass eine Anfrage an einen Server fehlgeschlagen ist. Der übergebene Parameter „ error “ gibt an, in welcher Weise die Anfrage fehlgeschlagen ist.

Siehe auch „ QAbstractOAuth2::error()“ und „ QAbstractOAuthReplyHandler::tokenRequestErrorOccurred()“.

[virtual protected] void QAbstractOAuth::resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> &parameters)

Erstellt die URL für die Autorisierung durch den Ressourcenbesitzer, die im Webbrowser verwendet werden soll: Als Basis-URL wird url verwendet, und die Abfrage wird mithilfe von parameters erstellt. Sobald die URL fertig ist, wird das Signal „ authorizeWithBrowser()“ mit der generierten URL ausgelöst.

Siehe auch authorizeWithBrowser().

void QAbstractOAuth::setAuthorizationUrl(const QUrl &url)

Legt die URL für die Autorisierungsanfrage auf url fest. Diese Adresse wird verwendet, damit der Benutzer der Anwendung die Berechtigung erteilen kann, im Namen des Benutzers authentifizierte Aufrufe durchzuführen.

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

Siehe auch authorizationUrl().

void QAbstractOAuth::setClientIdentifier(const QString &clientIdentifier)

Setzt die aktuelle Client-ID auf clientIdentifier.

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

Siehe auch „ clientIdentifier()“.

void QAbstractOAuth::setContentType(QAbstractOAuth::ContentType contentType)

Setzt den aktuellen Content-Type auf „ contentType “.

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

Siehe auch „ contentType()“.

void QAbstractOAuth::setModifyParametersFunction(const QAbstractOAuth::ModifyParametersFunction &modifyParametersFunction)

Legt die Funktion zur Parameteränderung „ modifyParametersFunction “ fest. Diese Funktion dient dazu, die Parameter anzupassen, die während einer bestimmten Autorisierungsphase an den Server gesendet werden. Die Anzahl der Aufrufe dieser Funktion hängt vom bei der Authentifizierung verwendeten Ablauf ab.

Siehe auch modifyParametersFunction() und Stage.

void QAbstractOAuth::setNetworkAccessManager(QNetworkAccessManager *networkAccessManager)

Stellt den Netzwerkmanager auf networkAccessManager ein. QAbstractOAuth übernimmt nicht die Eigentumsrechte an networkAccessManager. Wenn kein benutzerdefinierter Netzwerkzugriffsmanager festgelegt ist, wird ein interner Netzwerkzugriffsmanager verwendet. Dieser Netzwerkzugriffsmanager wird verwendet, um die Anfrage an den Authentifizierungsserver und die authentifizierte Anfrage an den Webdienst zu senden.

Siehe auch networkAccessManager() und QNetworkAccessManager.

void QAbstractOAuth::setReplyHandler(QAbstractOAuthReplyHandler *handler)

Setzt den aktuellen Antwort-Handler auf handler.

Hinweis: Übernimmt nicht die Eigentumsrechte an „ handler “.

Siehe auch replyHandler().

[protected] void QAbstractOAuth::setStatus(QAbstractOAuth::Status status)

Setzt den aktuellen Status auf „ status “. Diese Methode ist für Klassen vorgesehen, die auf „ QAbstractOAuth “ basieren.

Siehe auch ` status()`.

void QAbstractOAuth::setToken(const QString &token)

Legt das Token fest, das zum Signieren authentifizierter Anfragen an token verwendet wird.

Hinweis: Setter -Funktion für die Eigenschaft ` token`.

Siehe auch ` token()`.

QAbstractOAuth::Status QAbstractOAuth::status() const

Gibt den aktuellen Authentifizierungsstatus zurück.

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

Siehe auch „ setStatus()“ und „ Status “.

QString QAbstractOAuth::token() const

Gibt das Token zurück, das zum Signieren der authentifizierten Anfragen verwendet wird.

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

Siehe auch ` setToken()`.

© 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.