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: |
Ö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
- authorizationUrl : QUrl
- contentType : QAbstractOAuth::ContentType
- extraTokens : const QVariantMap
- status : const Status
Öffentliche Funktionen
virtual | ~QAbstractOAuth() |
QUrl | authorizationUrl() const |
QString | clientIdentifier() const |
QAbstractOAuth::ContentType | contentType() const |
virtual QNetworkReply * | deleteResource(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) = 0 |
QVariantMap | extraTokens() const |
virtual QNetworkReply * | get(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) = 0 |
virtual QNetworkReply * | head(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) = 0 |
QAbstractOAuth::ModifyParametersFunction | modifyParametersFunction() const |
QNetworkAccessManager * | networkAccessManager() const |
virtual QNetworkReply * | post(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) = 0 |
virtual void | prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray()) = 0 |
virtual QNetworkReply * | put(const QUrl &url, const QVariantMap ¶meters = 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> ¶meters) |
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.
Konstante | Wert | Beschreibung |
---|---|---|
QAbstractOAuth::ContentType::WwwFormUrlEncoded | 0 | Verwendet das Format application/x-www-form-urlencoded. |
QAbstractOAuth::ContentType::Json | 1 | Verwendet das Format application/json. |
enum class QAbstractOAuth::Error
Zeigt den letzten empfangenen Fehler an.
Konstante | Wert | Beschreibung |
---|---|---|
QAbstractOAuth::Error::NoError | 0 | Es ist kein Fehler aufgetreten. |
QAbstractOAuth::Error::NetworkError | 1 | Die Verbindung zum Server konnte nicht hergestellt werden. |
QAbstractOAuth::Error::ServerError | 2 | Der Server beantwortete die Anfrage mit einem Fehler, oder seine Antwort wurde nicht erfolgreich empfangen (z. B. aufgrund einer Fehlanpassung des Status). |
QAbstractOAuth::Error::OAuthTokenNotFoundError | 3 | Die Antwort des Servers auf eine Token-Anforderung enthielt keinen Token-Bezeichner. |
QAbstractOAuth::Error::OAuthTokenSecretNotFoundError | 4 | Die Antwort des Servers auf eine Token-Anforderung enthielt kein Token-Geheimnis. |
QAbstractOAuth::Error::OAuthCallbackNotVerified | 5 | Der 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.
Konstante | Wert | Beschreibung |
---|---|---|
QAbstractOAuth::Stage::RequestingTemporaryCredentials | 0 | Vorbereitung der Anfrage für temporäre Anmeldeinformationen. |
QAbstractOAuth::Stage::RequestingAuthorization | 1 | Vorbereitung der URL für die Berechtigungserteilung. |
QAbstractOAuth::Stage::RequestingAccessToken | 2 | Vorbereiten der Token-Anforderung. |
QAbstractOAuth::Stage::RefreshingAccessToken | 3 | Vorbereitung der Aktualisierung des Zugriffstokens. |
enum class QAbstractOAuth::Status
Zeigt den aktuellen Authentifizierungsstatus an.
Konstante | Wert | Beschreibung |
---|---|---|
QAbstractOAuth::Status::NotAuthenticated | 0 | Es wurde kein Token abgerufen. |
QAbstractOAuth::Status::TemporaryCredentialsReceived | 1 | Vorläufige Anmeldeinformationen wurden empfangen, dieser Status wird in einigen OAuth-Authentifizierungsmethoden verwendet. |
QAbstractOAuth::Status::Granted | 2 | Token-Anmeldeinformationen wurden empfangen und authentifizierte Aufrufe sind erlaubt. |
QAbstractOAuth::Status::RefreshingToken | 3 | Es 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 ¶meters = 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 ¶meters = 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.
[pure virtual invokable]
QNetworkReply *QAbstractOAuth::head(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
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 ¶meters = 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 ¶meters = 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> ¶meters)
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.