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 : |
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 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.
| 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 de l'erreur |
|---|---|---|
QAbstractOAuth::Error::NoError | 0 | Aucune erreur n'est survenue. |
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 avec succès (par exemple, en raison d'une incompatibilité d'état). |
QAbstractOAuth::Error::OAuthTokenNotFoundError | 3 | La réponse du serveur à une demande de jeton ne contient pas d'identifiant de jeton. |
QAbstractOAuth::Error::OAuthTokenSecretNotFoundError | 4 | La réponse du serveur à une demande de jeton n'a pas fourni de secret de jeton. |
QAbstractOAuth::Error::OAuthCallbackNotVerified | 5 | Le 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) | 6 | Une 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) | 7 | Un 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.
| Constante | Valeur | Description de l'étape d'authentification |
|---|---|---|
QAbstractOAuth::Stage::RequestingTemporaryCredentials | 0 | Préparation de la demande d'informations d'identification temporaires. |
QAbstractOAuth::Stage::RequestingAuthorization | 1 | Préparation de l'URL d'octroi de l'autorisation. |
QAbstractOAuth::Stage::RequestingAccessToken | 2 | Préparation de la demande de jeton. |
QAbstractOAuth::Stage::RefreshingAccessToken | 3 | Préparation du rafraîchissement du jeton d'accès. |
enum class QAbstractOAuth::Status
Indique l'état actuel de l'authentification.
| Constante | Valeur | Description de l'état d'authentification |
|---|---|---|
QAbstractOAuth::Status::NotAuthenticated | 0 | Aucun jeton n'a été récupéré. |
QAbstractOAuth::Status::TemporaryCredentialsReceived | 1 | Des informations d'identification temporaires ont été reçues. 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 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 :
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 ¶meters = 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 ¶meters = 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.
[pure virtual invokable] QNetworkReply *QAbstractOAuth::head(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
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 ¶meters = 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 ¶meters = 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> ¶meters)
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.