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 : |
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 ¶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 |
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> ¶meters) |
| 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.
| Constante | Valeur | Description |
|---|---|---|
QAbstractOAuth::ContentType::WwwFormUrlEncoded | 0 | Utilise le format application/x-www-form-urlencoded. |
QAbstractOAuth::ContentType::Json | 1 | Utilise le format application/json. |
enum class QAbstractOAuth::Error
Indique la dernière erreur reçue.
| Constante | Valeur | Description |
|---|---|---|
QAbstractOAuth::Error::NoError | 0 | Aucune erreur ne s'est produite. |
QAbstractOAuth::Error::NetworkError | 1 | Échec de la connexion au serveur. |
QAbstractOAuth::Error::ServerError | 2 | Le 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::OAuthTokenNotFoundError | 3 | La réponse du serveur à une demande de jeton ne fournissait aucun identifiant de jeton. |
QAbstractOAuth::Error::OAuthTokenSecretNotFoundError | 4 | La réponse du serveur à une demande de jeton ne contenait pas de secret de jeton. |
QAbstractOAuth::Error::OAuthCallbackNotVerified | 5 | Le 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) | 6 | Une 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) | 7 | Un 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.
| Constante | Valeur | Description |
|---|---|---|
QAbstractOAuth::Stage::RequestingTemporaryCredentials | 0 | Préparation de la demande d’identifiants temporaires. |
QAbstractOAuth::Stage::RequestingAuthorization | 1 | Préparation de l'URL d'autorisation. |
QAbstractOAuth::Stage::RequestingAccessToken | 2 | Préparation de la demande de jeton. |
QAbstractOAuth::Stage::RefreshingAccessToken | 3 | Préparation de l'actualisation du jeton d'accès. |
enum class QAbstractOAuth::Status
Indique l'état actuel de l'authentification.
| Constante | Valeur | Description |
|---|---|---|
QAbstractOAuth::Status::NotAuthenticated | 0 | Aucun jeton n'a été récupéré. |
QAbstractOAuth::Status::TemporaryCredentialsReceived | 1 | Des identifiants temporaires ont été reçus ; cet état est utilisé dans certaines méthodes d'authentification OAuth. |
QAbstractOAuth::Status::Granted | 2 | Les informations d'identification du jeton ont été reçues et les appels authentifiés sont autorisés. |
QAbstractOAuth::Status::RefreshingToken | 3 | De 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 :
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 ¶meters = 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 ¶meters = 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.
[pure virtual invokable] QNetworkReply *QAbstractOAuth::head(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
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 ¶meters = 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 ¶meters = 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> ¶meters)
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.