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: |
Ö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 ¶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) |
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.
| 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 zuletzt 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 hat die Anfrage mit einem Fehler beantwortet oder seine Antwort wurde nicht erfolgreich empfangen (z. B. aufgrund einer Statusdiskrepanz). |
QAbstractOAuth::Error::OAuthTokenNotFoundError | 3 | Die Antwort des Servers auf eine Token-Anfrage enthielt keine Token-Kennung. |
QAbstractOAuth::Error::OAuthTokenSecretNotFoundError | 4 | Die Antwort des Servers auf eine Token-Anfrage enthielt kein Token-Geheimnis. |
QAbstractOAuth::Error::OAuthCallbackNotVerified | 5 | Der 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) | 6 | Ein 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) | 7 | Ein 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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QAbstractOAuth::Stage::RequestingTemporaryCredentials | 0 | Vorbereitung der Anfrage für temporäre Anmeldedaten. |
QAbstractOAuth::Stage::RequestingAuthorization | 1 | Vorbereitung der Autorisierungs-Grant-URL. |
QAbstractOAuth::Stage::RequestingAccessToken | 2 | Vorbereitung der Token-Anfrage. |
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 | Es wurden temporäre Anmeldedaten empfangen; dieser Status wird bei einigen OAuth-Authentifizierungsmethoden verwendet. |
QAbstractOAuth::Status::Granted | 2 | Token-Anmeldedaten wurden empfangen, und authentifizierte Aufrufe sind zulässig. |
QAbstractOAuth::Status::RefreshingToken | 3 | Neue 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:
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 ¶meters = 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 ¶meters = 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.
[pure virtual invokable] QNetworkReply *QAbstractOAuth::head(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
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 ¶meters = 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 ¶meters = 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> ¶meters)
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.