QAbstractOAuth Class

Die Klasse QAbstractOAuth ist die Basis für alle Implementierungen von OAuth-Authentifizierungsmethoden. Mehr...

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

QAbstractOAuth2 und QOAuth1

Öffentliche Typen

enum class ContentType { WwwFormUrlEncoded, Json }
enum class Error { NoError, NetworkError, ServerError, OAuthTokenNotFoundError, OAuthTokenSecretNotFoundError, OAuthCallbackNotVerified }
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)

Detaillierte Beschreibung

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

Sie enthält auch einige Funktionen, die den Prozess der Implementierung verschiedener Authentifizierungsabläufe erleichtern.

Dokumentation der Mitgliedstypen

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 letzten 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 beantwortete die Anfrage mit einem Fehler, oder seine Antwort wurde nicht erfolgreich empfangen (z. B. aufgrund einer Fehlanpassung des Status).
QAbstractOAuth::Error::OAuthTokenNotFoundError3Die Antwort des Servers auf eine Token-Anforderung enthielt keinen Token-Bezeichner.
QAbstractOAuth::Error::OAuthTokenSecretNotFoundError4Die Antwort des Servers auf eine Token-Anforderung enthielt kein Token-Geheimnis.
QAbstractOAuth::Error::OAuthCallbackNotVerified5Der Autorisierungsserver hat den in der Anforderung angegebenen Callback-URI nicht überprüft. Dies geschieht in der Regel, wenn der angegebene Callback nicht mit dem Callback übereinstimmt, der bei der Client-Registrierung angegeben wurde.

enum class QAbstractOAuth::Stage

Identifiziert eine Authentifizierungsstufe. Sie wird an modifyParametersFunction weitergegeben, damit sie bei jedem Aufruf während des Authentifizierungsprozesses verschiedene Änderungen an den Parametern vornehmen kann.

KonstanteWertBeschreibung
QAbstractOAuth::Stage::RequestingTemporaryCredentials0Vorbereitung der Anfrage für temporäre Anmeldeinformationen.
QAbstractOAuth::Stage::RequestingAuthorization1Vorbereitung der URL für die Berechtigungserteilung.
QAbstractOAuth::Stage::RequestingAccessToken2Vorbereiten der Token-Anforderung.
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::TemporaryCredentialsReceived1Vorläufige Anmeldeinformationen wurden empfangen, dieser Status wird in einigen OAuth-Authentifizierungsmethoden verwendet.
QAbstractOAuth::Status::Granted2Token-Anmeldeinformationen wurden empfangen und authentifizierte Aufrufe sind erlaubt.
QAbstractOAuth::Status::RefreshingToken3Es wurden neue Token-Anmeldeinformationen angefordert.

Eigenschaft Dokumentation

authorizationUrl : QUrl

Diese Eigenschaft enthält die URL, die verwendet wird, um die Autorisierung des Ressourcenbesitzers anzufordern, wie in beschrieben: Das OAuth 1.0 Protokoll: Autorisierung des Ressourcenbesitzers

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void authorizationUrlChanged(const QUrl &url)

contentType : QAbstractOAuth::ContentType

Diese Eigenschaft enthält den Content-Type, der beim Senden von Autorisierungsparametern zu verwenden ist.

Diese Eigenschaft steuert, wie die Parameter formatiert werden, wenn sie mit einer POST-Anforderung gesendet werden. Es wird auch eine passende Kopfzeile hinzugefügt.

Zugriffsfunktionen:

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

Melder-Signal:

void contentTypeChanged(QAbstractOAuth::ContentType contentType)

[read-only] extraTokens : const QVariantMap

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

Zugriffsfunktionen:

QVariantMap extraTokens() const

Benachrichtigungssignal:

void extraTokensChanged(const QVariantMap &tokens)

[read-only] status : const Status

Diese Eigenschaft enthält den aktuellen Authentifizierungsstatus.

Zugriffsfunktionen:

QAbstractOAuth::Status status() const

Benachrichtigungssignal:

void statusChanged(QAbstractOAuth::Status status)

Member Function Dokumentation

[virtual noexcept] QAbstractOAuth::~QAbstractOAuth()

Zerstört das abstrakte OAuth.

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 ausgegeben, wenn die von resourceOwnerAuthorization() erzeugte url bereit ist, im Webbrowser verwendet zu werden, um der Anwendung zu ermöglichen, sich als Benutzer auszugeben.

Siehe auch resourceOwnerAuthorization().

[protected] QString QAbstractOAuth::callback() const

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

Siehe auch replyHandler() und setReplyHandler().

QString QAbstractOAuth::clientIdentifier() const

Gibt den aktuellen Client-Identifikator zurück, der 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 eine neue QNetworkReply zurück. Die 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.

QVariantMap QAbstractOAuth::extraTokens() const

Gibt die zusätzlichen Token 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 Größe der erzeugten Zeichenkette.

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

Hinweis: Diese Funktion ist thread-sicher.

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

Sendet eine authentifizierte GET-Anfrage und gibt eine neue 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 Meta-Objektsystem und von QML aus 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: z. B. die Abfrage der Berechtigung des Benutzers über einen Webbrowser. Wenn die Authentifizierung erfolgreich ist, sollte granted() ausgegeben werden; dies zeigt an, dass die Anmeldeinformationen für die Verwendung in authentifizierten Aufrufen bereit sind.

[signal] void QAbstractOAuth::granted()

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

Sendet eine authentifizierte HEAD-Anfrage und gibt eine neue 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 Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

QAbstractOAuth::ModifyParametersFunction QAbstractOAuth::modifyParametersFunction() const

Gibt die aktuelle Parameteränderungsfunktion zurück.

Siehe auch setModifyParametersFunction() und Stage.

QNetworkAccessManager *QAbstractOAuth::networkAccessManager() const

Gibt den aktuellen Netzzugangsmanager zurück, der verwendet wird, um die Anfragen an den Server während der Authentifizierungsabläufe zu senden oder um Authentifizierungsaufrufe zu tätigen.

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 eine neue 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 Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Autorisiert die angegebene request durch Hinzufügen einer Kopfzeile und body, die für authentifizierte Anfragen erforderlich sind.

Das verb muss ein gültiges HTTP-Verb sein und mit dem übereinstimmen, das zum Senden der request verwendet wird.

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

Sendet eine authentifizierte PUT-Anfrage und gibt eine neue 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 Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

QAbstractOAuthReplyHandler *QAbstractOAuth::replyHandler() const

Gibt den aktuell verwendeten Reply-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. Die übergebene error gibt an, wie 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 zur Autorisierung des Ressourceneigentümers, die im Webbrowser verwendet werden soll: url wird als Basis-URL verwendet und die Abfrage wird mit parameters erstellt. Wenn die URL fertig ist, wird das Signal authorizeWithBrowser() mit der generierten URL ausgegeben.

Siehe auch authorizeWithBrowser().

void QAbstractOAuth::setAuthorizationUrl(const QUrl &url)

Setzt die URL für die Autorisierungsanfrage auf url. Diese Adresse wird verwendet, um dem Benutzer die Möglichkeit zu geben, der Anwendung die Möglichkeit zu geben, authentifizierte Anrufe im Namen des Benutzers zu tätigen.

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

Siehe auch authorizationUrl().

void QAbstractOAuth::setClientIdentifier(const QString &clientIdentifier)

Setzt den aktuellen Client-Identifikator 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 Parameteränderungsfunktion modifyParametersFunction fest. Diese Funktion wird verwendet, um die Parameter anzupassen, die während einer bestimmten Autorisierungsphase an den Server gesendet werden. Die Anzahl der Aufrufe dieser Funktion hängt von dem während der Authentifizierung verwendeten Ablauf ab.

Siehe auch modifyParametersFunction() und Stage.

void QAbstractOAuth::setNetworkAccessManager(QNetworkAccessManager *networkAccessManager)

Legt den Netzwerkmanager auf networkAccessManager fest. QAbstractOAuth übernimmt nicht das Eigentum an networkAccessManager. Wenn kein benutzerdefinierter Netzwerkzugangsmanager festgelegt ist, wird ein interner Netzwerkzugangsmanager verwendet. Dieser Netzwerkzugriffsmanager wird verwendet, um die Anforderung an den Authentifizierungsserver und die authentifizierte Anforderung an den Webdienst zu stellen.

Siehe auch networkAccessManager() und QNetworkAccessManager.

void QAbstractOAuth::setReplyHandler(QAbstractOAuthReplyHandler *handler)

Setzt den aktuellen Reply-Handler auf handler.

Hinweis: Übernimmt nicht den Besitz von handler.

Siehe auch replyHandler().

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

Setzt den aktuellen Status auf status. Diese Methode ist für die Verwendung durch Klassen gedacht, 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().

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