Sur cette page

QAbstractOAuth Class

La classe QAbstractOAuth est la base de toutes les implémentations des méthodes d'authentification OAuth. Plus d'informations...

En-tête : #include <QAbstractOAuth>
CMake : find_package(Qt6 REQUIRED COMPONENTS NetworkAuth)
target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth)
qmake : QT += networkauth
Hérite : QObject
Héritée par :

QAbstractOAuth2 et QOAuth1

Types publics

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 }

Propriétés

Fonctions publiques

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

Emplacements publics

virtual void grant() = 0

Signaux

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)

Fonctions protégées

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

Membres statiques protégés

QByteArray generateRandomString(quint8 length)

Description détaillée

Cette classe définit l'interface de base des classes d'authentification OAuth. En héritant de cette classe, vous pouvez créer des méthodes d'authentification personnalisées pour différents services web.

Elle contient également des fonctions qui facilitent la mise en œuvre de différents flux d'authentification.

Type de membre Documentation

enum class QAbstractOAuth::ContentType

Indique le type de contenu MIME des méthodes POST dans les appels authentifiés.

ConstanteValeurDescription
QAbstractOAuth::ContentType::WwwFormUrlEncoded0Utilise le format application/x-www-form-urlencoded.
QAbstractOAuth::ContentType::Json1Utilise le format application/json.

enum class QAbstractOAuth::Error

Indique la dernière erreur reçue.

ConstanteValeurDescription de l'erreur
QAbstractOAuth::Error::NoError0Aucune erreur n'est survenue.
QAbstractOAuth::Error::NetworkError1Échec de la connexion au serveur.
QAbstractOAuth::Error::ServerError2Le serveur a répondu à la requête par une erreur, ou sa réponse n'a pas été reçue avec succès (par exemple, en raison d'une incompatibilité d'état).
QAbstractOAuth::Error::OAuthTokenNotFoundError3La réponse du serveur à une demande de jeton ne contient pas d'identifiant de jeton.
QAbstractOAuth::Error::OAuthTokenSecretNotFoundError4La réponse du serveur à une demande de jeton n'a pas fourni de secret de jeton.
QAbstractOAuth::Error::OAuthCallbackNotVerified5Le serveur d'autorisation n'a pas vérifié l'URI de rappel fourni dans la demande. Cela se produit généralement lorsque le rappel fourni ne correspond pas au rappel fourni lors de l'enregistrement du client.
QAbstractOAuth::Error::ClientError (since Qt 6.9)6Une erreur imputable à l'application cliente (par exemple, configuration manquante ou tentative de demande dans un état où elle n'est pas autorisée). Actuellement utilisé par QOAuth2DeviceAuthorizationFlow.
QAbstractOAuth::Error::ExpiredError (since Qt 6.9)7Un jeton a expiré. Actuellement utilisé par QOAuth2DeviceAuthorizationFlow.

enum class QAbstractOAuth::Stage

Identifie une étape d'authentification. Il est transmis à modifyParametersFunction afin qu'il puisse modifier les paramètres à chaque appel au cours du processus d'authentification.

ConstanteValeurDescription de l'étape d'authentification
QAbstractOAuth::Stage::RequestingTemporaryCredentials0Préparation de la demande d'informations d'identification temporaires.
QAbstractOAuth::Stage::RequestingAuthorization1Préparation de l'URL d'octroi de l'autorisation.
QAbstractOAuth::Stage::RequestingAccessToken2Préparation de la demande de jeton.
QAbstractOAuth::Stage::RefreshingAccessToken3Préparation du rafraîchissement du jeton d'accès.

enum class QAbstractOAuth::Status

Indique l'état actuel de l'authentification.

ConstanteValeurDescription de l'état d'authentification
QAbstractOAuth::Status::NotAuthenticated0Aucun jeton n'a été récupéré.
QAbstractOAuth::Status::TemporaryCredentialsReceived1Des informations d'identification temporaires ont été reçues. Cet état est utilisé dans certaines méthodes d'authentification OAuth.
QAbstractOAuth::Status::Granted2Les informations d'identification du jeton ont été reçues et les appels authentifiés sont autorisés.
QAbstractOAuth::Status::RefreshingToken3De nouvelles informations d'identification ont été demandées.

Propriété Documentation

authorizationUrl : QUrl

Cette propriété contient l'URL utilisée pour demander l'autorisation du propriétaire de la ressource comme décrit dans : Le protocole OAuth 1.0 : Autorisation du propriétaire de la ressource

Fonctions d'accès :

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

Signal du notificateur :

void authorizationUrlChanged(const QUrl &url)

clientIdentifier : QString

Cette propriété contient l'identifiant du client utilisé dans le processus d'authentification.

Fonctions d'accès :

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

Signal du notificateur :

void clientIdentifierChanged(const QString &clientIdentifier)

Voir aussi setClientIdentifier().

contentType : QAbstractOAuth::ContentType

Cette propriété contient le Content-Type à utiliser lors de l'envoi des paramètres d'autorisation.

Cette propriété contrôle la manière dont les paramètres sont formatés lorsqu'ils sont envoyés avec une requête POST. Un en-tête approprié est également ajouté.

Fonctions d'accès :

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

Signal de notification :

void contentTypeChanged(QAbstractOAuth::ContentType contentType)

[read-only] extraTokens : QVariantMap

Cette propriété contient les jetons supplémentaires reçus du serveur.

Fonctions d'accès :

QVariantMap extraTokens() const

Signal du notificateur :

void extraTokensChanged(const QVariantMap &tokens)

[read-only] status : Status

Cette propriété contient l'état actuel de l'authentification.

Fonctions d'accès :

QAbstractOAuth::Status status() const

Signal de notification :

void statusChanged(QAbstractOAuth::Status status)

token : QString

Cette propriété contient le jeton utilisé pour signer les demandes authentifiées.

Fonctions d'accès :

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

Signal du notificateur :

void tokenChanged(const QString &token)

Voir aussi setToken().

Documentation des fonctions membres

[virtual noexcept] QAbstractOAuth::~QAbstractOAuth()

Détruit l'abstrait OAuth.

QUrl QAbstractOAuth::authorizationUrl() const

Renvoie l'URL de la demande d'autorisation.

Note : Fonction Getter pour la propriété authorizationUrl.

Voir aussi setAuthorizationUrl().

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

Ce signal est émis lorsque le url généré par resourceOwnerAuthorization() est prêt à être utilisé dans le navigateur web pour permettre à l'application d'usurper l'identité de l'utilisateur.

Voir aussi resourceOwnerAuthorization().

[protected] QString QAbstractOAuth::callback() const

Renvoie la chaîne de rappel correspondant au gestionnaire de réponse actuel. La chaîne renvoyée est la chaîne envoyée au serveur pour spécifier l'URI de rappel, ou le mot identifiant la méthode alternative dans les dispositifs sans tête.

Voir aussi replyHandler() et setReplyHandler().

QString QAbstractOAuth::clientIdentifier() const

Renvoie l'identifiant du client utilisé dans le processus d'authentification.

Note : Fonction Getter pour la propriété clientIdentifier.

Voir aussi setClientIdentifier().

QAbstractOAuth::ContentType QAbstractOAuth::contentType() const

Renvoie le type de contenu (Content-Type) utilisé dans les appels authentifiés.

Note : Fonction Getter pour la propriété contentType.

Voir aussi setContentType() et post().

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

Envoie une requête DELETE authentifiée et renvoie une nouvelle adresse QNetworkReply. Les adresses url et parameters sont utilisées pour créer la requête.

Voir aussi: Protocole de transfert hypertexte - HTTP/1.1 : DELETE

Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

QVariantMap QAbstractOAuth::extraTokens() const

Renvoie les jetons supplémentaires reçus du serveur lors de l'authentification.

Note : Fonction Getter pour la propriété extraTokens.

Voir aussi extraTokensChanged().

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

Génère une chaîne aléatoire qui peut être utilisée comme état ou nonce. Le paramètre length détermine la taille de la chaîne générée.

Voir aussi: Le protocole OAuth 1.0 : Nonce et Timestamp.

Remarque : cette fonction est sûre pour les threads.

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

Envoie une requête GET authentifiée et renvoie une nouvelle adresse QNetworkReply. Les adresses url et parameters sont utilisées pour créer la requête.

Voir aussi: Protocole de transfert hypertexte - HTTP/1.1 : GET

Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

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

Surchargez cette fonction pour mettre en œuvre le flux d'authentification correspondant dans les sous-classes. Le code client appelle cette fonction pour lancer le processus d'authentification. Cela peut nécessiter une interaction avec l'utilisateur : par exemple, demander l'autorisation de l'utilisateur via un navigateur web. Lorsque l'authentification est réussie, il doit émettre granted(), ce qui indique que les informations d'identification sont prêtes à être utilisées dans les appels authentifiés.

[signal] void QAbstractOAuth::granted()

Ce signal est émis lorsque le flux d'autorisation se termine avec succès.

Envoie une requête HEAD authentifiée et renvoie une nouvelle adresse QNetworkReply. Les adresses url et parameters sont utilisées pour créer la requête.

Voir aussi: Protocole de transfert hypertexte - HTTP/1.1 : HEAD

Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

QAbstractOAuth::ModifyParametersFunction QAbstractOAuth::modifyParametersFunction() const

Renvoie la fonction de modification des paramètres actuelle.

Voir aussi setModifyParametersFunction() et Stage.

QNetworkAccessManager *QAbstractOAuth::networkAccessManager() const

Renvoie le gestionnaire d'accès au réseau actuellement utilisé pour envoyer les demandes au serveur pendant les flux d'authentification ou pour effectuer les appels d'authentification.

Voir aussi setNetworkAccessManager() et QNetworkAccessManager.

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

Envoie une requête POST authentifiée et renvoie une nouvelle adresse QNetworkReply. Les adresses url et parameters sont utilisées pour créer la requête.

Voir aussi: Protocole de transfert hypertexte - HTTP/1.1 : POST

Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

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

Autorise l'adresse request donnée en lui ajoutant un en-tête et body requis pour les demandes authentifiées.

Le verb doit être un verbe HTTP valide et identique à celui qui sera utilisé pour envoyer le request.

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

Envoie une demande PUT authentifiée et renvoie une nouvelle adresse QNetworkReply. Les adresses url et parameters sont utilisées pour créer la requête.

Voir aussi: Protocole de transfert hypertexte - HTTP/1.1 : PUT

Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

QAbstractOAuthReplyHandler *QAbstractOAuth::replyHandler() const

Renvoie le gestionnaire de réponse actuellement utilisé.

Voir aussi setReplyHandler() et QAbstractOAuthReplyHandler.

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

Ce signal est émis pour indiquer qu'une demande adressée à un serveur a échoué. L'adresse error fournie indique comment la requête a échoué.

Voir aussi QAbstractOAuth2::error() et QAbstractOAuthReplyHandler::tokenRequestErrorOccurred().

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

Construit l'URL d'autorisation du propriétaire de la ressource à utiliser dans le navigateur web : url est utilisé comme URL de base et la requête est créée à l'aide de parameters. Lorsque l'URL est prête, le signal authorizeWithBrowser() est émis avec l'URL générée.

Voir aussi authorizeWithBrowser().

void QAbstractOAuth::setAuthorizationUrl(const QUrl &url)

Définit l'URL de demande d'autorisation à url. Cette adresse sera utilisée pour permettre à l'utilisateur d'accorder à l'application la possibilité d'effectuer des appels authentifiés au nom de l'utilisateur.

Remarque : fonction de définition de la propriété authorizationUrl.

Voir aussi authorizationUrl().

void QAbstractOAuth::setClientIdentifier(const QString &clientIdentifier)

Définit l'identifiant du client actuel à clientIdentifier.

Note : Fonction de définition de la propriété clientIdentifier.

Voir aussi clientIdentifier().

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

Définit le Content-Type actuel à contentType.

Note : Fonction de définition de la propriété contentType.

Voir aussi contentType().

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

Définit la fonction de modification des paramètres modifyParametersFunction. Cette fonction est utilisée pour personnaliser les paramètres envoyés au serveur lors d'une étape d'autorisation donnée. Le nombre d'appels à cette fonction dépend du flux utilisé lors de l'authentification.

Voir aussi modifyParametersFunction() et Stage.

void QAbstractOAuth::setNetworkAccessManager(QNetworkAccessManager *networkAccessManager)

Définit le gestionnaire de réseau à networkAccessManager. QAbstractOAuth ne prend pas possession de networkAccessManager. Si aucun gestionnaire d'accès au réseau personnalisé n'est défini, un gestionnaire d'accès au réseau interne est utilisé. Ce gestionnaire d'accès au réseau sera utilisé pour effectuer la demande au serveur d'authentification et la demande authentifiée au service web.

Voir aussi networkAccessManager() et QNetworkAccessManager.

void QAbstractOAuth::setReplyHandler(QAbstractOAuthReplyHandler *handler)

Définit le gestionnaire de réponse actuel à handler.

Note : Ne prend pas la propriété de handler.

Voir aussi replyHandler().

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

Définit l'état actuel à status. Cette méthode est utilisée par les classes basées sur QAbstractOAuth.

Voir aussi status().

void QAbstractOAuth::setToken(const QString &token)

Définit le jeton utilisé pour signer les demandes authentifiées à token.

Remarque : fonction de définition de la propriété token.

Voir aussi token().

QAbstractOAuth::Status QAbstractOAuth::status() const

Renvoie l'état actuel de l'authentification.

Note : Fonction Getter pour le statut de la propriété.

Voir aussi setStatus() et Status.

QString QAbstractOAuth::token() const

Renvoie le jeton utilisé pour signer les demandes authentifiées.

Note : Fonction Getter pour la propriété token.

Voir aussi 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.