Sur cette page

QAbstractOAuth Class

La classe `QAbstractOAuth` sert de base à toutes les implémentations des méthodes d'authentification OAuth. En savoir plus...

En-tête : #include <QAbstractOAuth>
CMake : find_package(Qt6 REQUIRED COMPONENTS NetworkAuth)
target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth)
qmake : QT += networkauth
Hérite de : QObject
Hérité 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 certaines fonctions destinées à faciliter la mise en œuvre de différents flux d’authentification.

Documentation sur les types de membres

enum class QAbstractOAuth::ContentType

Indique le type de contenu MIME (Content-Type) 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
QAbstractOAuth::Error::NoError0Aucune erreur ne s'est produite.
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 correctement (par exemple, en raison d'une incompatibilité d'état).
QAbstractOAuth::Error::OAuthTokenNotFoundError3La réponse du serveur à une demande de jeton ne fournissait aucun identifiant de jeton.
QAbstractOAuth::Error::OAuthTokenSecretNotFoundError4La réponse du serveur à une demande de jeton ne contenait pas de secret de jeton.
QAbstractOAuth::Error::OAuthCallbackNotVerified5Le serveur d’autorisation n’a pas vérifié l’URI de rappel fournie dans la requête. Cela se produit généralement lorsque l’URI de rappel fournie ne correspond pas à celle indiquée lors de l’enregistrement du client.
QAbstractOAuth::Error::ClientError (since Qt 6.9)6Une erreur imputable à l'application cliente (par exemple, une configuration manquante ou une tentative de requête dans un état où cela n'est pas autorisé). 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. Elle est transmise à une interface « modifyParametersFunction » afin que celle-ci puisse apporter différentes modifications aux paramètres à chaque fois qu'elle est appelée au cours du processus d'authentification.

ConstanteValeurDescription
QAbstractOAuth::Stage::RequestingTemporaryCredentials0Préparation de la demande d’identifiants temporaires.
QAbstractOAuth::Stage::RequestingAuthorization1Préparation de l'URL d'autorisation.
QAbstractOAuth::Stage::RequestingAccessToken2Préparation de la demande de jeton.
QAbstractOAuth::Stage::RefreshingAccessToken3Préparation de l'actualisation du jeton d'accès.

enum class QAbstractOAuth::Status

Indique l'état actuel de l'authentification.

ConstanteValeurDescription
QAbstractOAuth::Status::NotAuthenticated0Aucun jeton n'a été récupéré.
QAbstractOAuth::Status::TemporaryCredentialsReceived1Des identifiants temporaires ont été reçus ; 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 du jeton ont été demandées.

Documentation des propriétés

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 de notification :

void authorizationUrlChanged(const QUrl &url)

clientIdentifier : QString

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

Fonctions d'accès :

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

Signal de notification :

void clientIdentifierChanged(const QString &clientIdentifier)

Voir également setClientIdentifier().

contentType : QAbstractOAuth::ContentType

Cette propriété définit le type de contenu (Content-Type) à utiliser lors de l'envoi des paramètres d'autorisation.

Cette propriété contrôle le formatage des paramètres 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 de notification :

void extraTokensChanged(const QVariantMap &tokens)

[read-only] status : Status

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

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 requêtes authentifiées.

Fonctions d'accès :

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

Signal de notification :

void tokenChanged(const QString &token)

Voir aussi setToken().

Documentation des fonctions membres

[virtual noexcept] QAbstractOAuth::~QAbstractOAuth()

Supprime l'interface OAuth abstraite.

QUrl QAbstractOAuth::authorizationUrl() const

Renvoie l'URL de la demande d'autorisation.

Remarque : fonctiongetter pour la propriété authorizationUrl.

Voir aussi setAuthorizationUrl().

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

Ce signal est émis lorsque l'url générée par resourceOwnerAuthorization() est prête à être utilisée dans le navigateur Web afin de permettre à l'application de se faire passer pour l'utilisateur.

Voir également resourceOwnerAuthorization().

[protected] QString QAbstractOAuth::callback() const

Renvoie la chaîne de rappel actuelle correspondant au gestionnaire de réponse actuel. La chaîne renvoyée est celle envoyée au serveur pour spécifier l'URI de rappel, ou le mot identifiant la méthode alternative sur les appareils sans interface utilisateur.

Voir également replyHandler() et setReplyHandler().

QString QAbstractOAuth::clientIdentifier() const

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

Remarque : fonctiongetter pour la propriété clientIdentifier.

Voir aussi setClientIdentifier().

QAbstractOAuth::ContentType QAbstractOAuth::contentType() const

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

Remarque : fonctiongetter 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 un nouvel objet « QNetworkReply ». Les objets « url » et « parameters » sont utilisés pour créer la requête.

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

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

QVariantMap QAbstractOAuth::extraTokens() const

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

Remarque : fonctiongetter pour la propriété extraTokens.

Voir aussi extraTokensChanged().

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

Génère une chaîne aléatoire pouvant servir d’état ou de nonce. Le paramètre « length » détermine la longueur de la chaîne générée.

Voir aussi: Le protocole OAuth 1.0 : nonce et horodatage.

Remarque : cette fonction est thread-safe.

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

Envoie une requête GET authentifiée et renvoie un nouvel objet ` QNetworkReply`. Les objets ` url ` et ` parameters ` sont utilisés pour créer la requête.

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

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

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

Redéfinissez cette fonction pour implémenter 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 de l'utilisateur : par exemple, demander l'autorisation de l'utilisateur via un navigateur Web. Lorsque l'authentification aboutit, la fonction doit appeler ` granted()` ; cela indique que les identifiants sont prêts à être utilisés dans les appels authentifiés.

[signal] void QAbstractOAuth::granted()

Ce signal est émis lorsque le processus d'autorisation s'achève avec succès.

Envoie une requête HEAD authentifiée et renvoie une nouvelle ressource QNetworkReply. Les paramètres url et parameters sont utilisés pour créer la requête.

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

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

QAbstractOAuth::ModifyParametersFunction QAbstractOAuth::modifyParametersFunction() const

Renvoie la fonction de modification des paramètres actuelle.

Voir également setModifyParametersFunction() et Stage.

QNetworkAccessManager *QAbstractOAuth::networkAccessManager() const

Renvoie le gestionnaire d'accès réseau actuellement utilisé pour envoyer les requêtes au serveur lors des processus d'authentification ou pour effectuer des appels d'authentification.

Voir également 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 un nouvel objet ` QNetworkReply`. Les objets ` url ` et ` parameters ` sont utilisés pour créer la requête.

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

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

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

Autorise l'request indiquée en y ajoutant un en-tête et l'body, nécessaires pour les requêtes authentifiées.

L'verb doit être un verbe HTTP valide et correspondre à celui qui sera utilisé pour envoyer l'request.

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

Envoie une requête PUT authentifiée et renvoie un nouvel objet ` QNetworkReply`. Les objets ` url ` et ` parameters ` sont utilisés pour créer la requête.

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

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

QAbstractOAuthReplyHandler *QAbstractOAuth::replyHandler() const

Renvoie le gestionnaire de réponse actuellement utilisé.

Voir également setReplyHandler() et QAbstractOAuthReplyHandler.

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

Ce signal est émis pour indiquer qu'une requête adressée à un serveur a échoué. L'error fournie précise la nature de l'échec de la requête.

Voir également ` QAbstractOAuth2::error()` et ` QAbstractOAuthReplyHandler::tokenRequestErrorOccurred()`.

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

Crée l'URL d'autorisation du propriétaire de la ressource à utiliser dans le navigateur Web : url sert d'URL de base et la requête est générée à l'aide de parameters. Une fois l'URL prête, le signal authorizeWithBrowser() sera émis avec l'URL générée.

Voir également authorizeWithBrowser().

void QAbstractOAuth::setAuthorizationUrl(const QUrl &url)

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

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

Voir également authorizationUrl().

void QAbstractOAuth::setClientIdentifier(const QString &clientIdentifier)

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

Remarque : fonctionde définition de la propriété clientIdentifier.

Voir aussi clientIdentifier().

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

Définit le type de contenu (Content-Type) actuel sur « contentType ».

Remarque : fonctionde 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 permet de personnaliser les paramètres envoyés au serveur au cours d'une étape d'autorisation spécifiée. Le nombre d'appels à cette fonction dépend du flux utilisé lors de l'authentification.

Voir également modifyParametersFunction() et Stage.

void QAbstractOAuth::setNetworkAccessManager(QNetworkAccessManager *networkAccessManager)

Configure le gestionnaire de réseau sur networkAccessManager. QAbstractOAuth ne prend pas en charge networkAccessManager. Si aucun gestionnaire d'accès réseau personnalisé n'est défini, un gestionnaire d'accès réseau interne est utilisé. Ce gestionnaire d'accès réseau sera utilisé pour envoyer la requête au serveur d'authentification, puis la requête authentifiée au service Web.

Voir également networkAccessManager() et QNetworkAccessManager.

void QAbstractOAuth::setReplyHandler(QAbstractOAuthReplyHandler *handler)

Définit le gestionnaire de réponses actuel sur handler.

Remarque : ne prend pas possession de ` handler`.

Voir aussi replyHandler().

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

Définit l'état actuel sur « status ». Cette méthode est destinée aux classes dérivées de QAbstractOAuth.

Voir également status().

void QAbstractOAuth::setToken(const QString &token)

Définit le jeton utilisé pour signer les requêtes authentifiées adressées à token.

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

Voir aussi token().

QAbstractOAuth::Status QAbstractOAuth::status() const

Renvoie l'état actuel de l'authentification.

Remarque : fonctiongetter pour la propriété status.

Voir également setStatus() et Status.

QString QAbstractOAuth::token() const

Renvoie le jeton utilisé pour signer les requêtes authentifiées.

Remarque : fonctiongetter 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.