QOAuth2AuthorizationCodeFlow Class
La classe QOAuth2AuthorizationCodeFlow fournit une implémentation du flux d'octroi du code d'autorisation. Plus d'informations...
| En-tête : | #include <QOAuth2AuthorizationCodeFlow> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS NetworkAuth)target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth) |
| qmake : | QT += networkauth |
| Héritages : | QAbstractOAuth2 |
Types publics
(since 6.8) enum class | PkceMethod { None, Plain, S256 } |
Fonctions publiques
| QOAuth2AuthorizationCodeFlow(QObject *parent = nullptr) | |
| QOAuth2AuthorizationCodeFlow(QNetworkAccessManager *manager, QObject *parent = nullptr) | |
| QOAuth2AuthorizationCodeFlow(const QString &clientIdentifier, QNetworkAccessManager *manager, QObject *parent = nullptr) | |
| QOAuth2AuthorizationCodeFlow(const QUrl &authenticateUrl, const QUrl &accessTokenUrl, QNetworkAccessManager *manager, QObject *parent = nullptr) | |
| QOAuth2AuthorizationCodeFlow(const QString &clientIdentifier, const QUrl &authenticateUrl, const QUrl &accessTokenUrl, QNetworkAccessManager *manager, QObject *parent = nullptr) | |
| virtual | ~QOAuth2AuthorizationCodeFlow() |
(until 6.13) QUrl | accessTokenUrl() const |
(since 6.8) QOAuth2AuthorizationCodeFlow::PkceMethod | pkceMethod() const |
(until 6.13) void | setAccessTokenUrl(const QUrl &accessTokenUrl) |
(since 6.8) void | setPkceMethod(QOAuth2AuthorizationCodeFlow::PkceMethod method, qsizetype length = 43) |
Emplacements publics
| virtual void | grant() override |
(until 6.13) void | refreshAccessToken() |
Fonctions protégées
| QUrl | buildAuthenticateUrl(const QMultiMap<QString, QVariant> ¶meters = {}) |
| void | requestAccessToken(const QString &code) |
Fonctions protégées réimplémentées
| virtual void | resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> ¶meters = {}) override |
Emplacements protégés
(since 6.9) void | refreshTokensImplementation() |
Description détaillée
Cette classe implémente le flux d'attribution du code d'autorisation, qui est utilisé à la fois pour obtenir et pour rafraîchir les jetons d'accès. Il s'agit d'un flux basé sur la redirection, de sorte que l'utilisateur doit avoir accès à un navigateur web.
En tant que flux basé sur la redirection, cette classe nécessite la mise en place d'un gestionnaire de réponse approprié. Voir OAuth 2.0 Overview, QOAuthHttpServerReplyHandler, et QOAuthUriSchemeReplyHandler.
Documentation sur les types de membres
[since 6.8] enum class QOAuth2AuthorizationCodeFlow::PkceMethod
Liste des méthodes de preuve de clé pour l'échange de code (PKCE) disponibles.
La PKCE est une mesure de sécurité visant à atténuer le risque d'attaques par interception du code d'autorisation. En tant que telle, elle est pertinente pour le flux "Code d'autorisation" d'OAuth2 (octroi) et en particulier avec les applications natives.
La PKCE insère des paramètres supplémentaires dans les demandes d'autorisation et de jeton d'accès. Grâce à ces paramètres, le serveur d'autorisation est en mesure de vérifier qu'une demande de jeton d'accès provient de la même entité que celle qui a émis la demande d'autorisation.
| Constante | Valeur | Description de la constante |
|---|---|---|
QOAuth2AuthorizationCodeFlow::PkceMethod::None | 255 | PKCE n'est pas utilisé. |
QOAuth2AuthorizationCodeFlow::PkceMethod::Plain | 1 | La méthode Plain PKCE est utilisée. Elle n'est utilisée que s'il n'est pas possible d'utiliser S256. Avec la méthode Plain, le code challenge est égal au code verifier. |
QOAuth2AuthorizationCodeFlow::PkceMethod::S256 | 0 | La méthode PKCE S256 est utilisée. Il s'agit de la méthode par défaut et de la méthode recommandée pour les applications natives. Avec la méthode S256, le code challenge est une valeur encodée en base64url du SHA-256 du vérificateur de code. |
Cette liste a été introduite dans Qt 6.8.
Voir aussi setPkceMethod() et pkceMethod().
Documentation des fonctions membres
[explicit] QOAuth2AuthorizationCodeFlow::QOAuth2AuthorizationCodeFlow(QObject *parent = nullptr)
Construit un objet QOAuth2AuthorizationCodeFlow avec l'objet parent parent.
[explicit] QOAuth2AuthorizationCodeFlow::QOAuth2AuthorizationCodeFlow(QNetworkAccessManager *manager, QObject *parent = nullptr)
Construit un objet QOAuth2AuthorizationCodeFlow en utilisant parent comme parent et définit manager comme gestionnaire d'accès au réseau.
QOAuth2AuthorizationCodeFlow::QOAuth2AuthorizationCodeFlow(const QString &clientIdentifier, QNetworkAccessManager *manager, QObject *parent = nullptr)
Construit un objet QOAuth2AuthorizationCodeFlow en utilisant parent comme parent et définit manager comme gestionnaire d'accès au réseau. L'identifiant du client est défini à clientIdentifier.
QOAuth2AuthorizationCodeFlow::QOAuth2AuthorizationCodeFlow(const QUrl &authenticateUrl, const QUrl &accessTokenUrl, QNetworkAccessManager *manager, QObject *parent = nullptr)
Construit un objet QOAuth2AuthorizationCodeFlow en utilisant parent comme parent et définit manager comme gestionnaire d'accès au réseau. L'URL d'authentification est définie à authenticateUrl et l'URL du jeton d'accès à accessTokenUrl.
QOAuth2AuthorizationCodeFlow::QOAuth2AuthorizationCodeFlow(const QString &clientIdentifier, const QUrl &authenticateUrl, const QUrl &accessTokenUrl, QNetworkAccessManager *manager, QObject *parent = nullptr)
Construit un objet QOAuth2AuthorizationCodeFlow en utilisant parent comme parent et définit manager comme gestionnaire d'accès au réseau. L'identifiant du client est défini à clientIdentifier, l'URL d'authentification à authenticateUrl et l'URL du jeton d'accès à accessTokenUrl.
[virtual noexcept] QOAuth2AuthorizationCodeFlow::~QOAuth2AuthorizationCodeFlow()
Détruit l'instance QOAuth2AuthorizationCodeFlow.
[until 6.13] QUrl QOAuth2AuthorizationCodeFlow::accessTokenUrl() const
Cette fonction sera obsolète à partir de la version 6.13.
Utilisez QAbstractOAuth2::tokenUrl() à la place.
Renvoie l'URL utilisée pour demander le jeton d'accès.
Voir aussi setAccessTokenUrl().
[protected] QUrl QOAuth2AuthorizationCodeFlow::buildAuthenticateUrl(const QMultiMap<QString, QVariant> ¶meters = {})
Génère une URL d'authentification à utiliser dans la demande d'autorisation à l'aide de parameters.
[override virtual slot] void QOAuth2AuthorizationCodeFlow::grant()
Réimplémente : QAbstractOAuth::grant().
Démarre le flux d'authentification tel que décrit dans le cadre d'autorisation OAuth 2.0.
[noexcept, since 6.8] QOAuth2AuthorizationCodeFlow::PkceMethod QOAuth2AuthorizationCodeFlow::pkceMethod() const
Renvoie la méthode PKCE courante.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi setPkceMethod() et QOAuth2AuthorizationCodeFlow::PkceMethod.
[slot, until 6.13] void QOAuth2AuthorizationCodeFlow::refreshAccessToken()
Cette fonction sera obsolète à partir de la version 6.13.
Utilisez QAbstractOAuth2::refreshTokens() à la place.
Appelez cette fonction pour rafraîchir le jeton.
Cette fonction appelle refreshTokensImplementation().
[protected slot, since 6.9] void QOAuth2AuthorizationCodeFlow::refreshTokensImplementation()
Cette fonction envoie une demande de rafraîchissement du jeton.
Si la demande de rafraîchissement a été lancée avec succès, l'état est mis à QAbstractOAuth::Status::RefreshingToken; sinon, le signal requestFailed() est émis et l'état n'est pas modifié.
Cette fonction n'a aucun effet si le processus de rafraîchissement du jeton est déjà en cours.
Si le rafraîchissement du jeton échoue et qu'un jeton d'accès existe, l'état est fixé à QAbstractOAuth::Status::Granted, et à QAbstractOAuth::Status::NotAuthenticated s'il n'existe pas de jeton d'accès.
Cette fonction a été introduite dans Qt 6.9.
Voir aussi QAbstractOAuth::requestFailed() et QAbstractOAuth2::refreshTokens().
[protected] void QOAuth2AuthorizationCodeFlow::requestAccessToken(const QString &code)
Demande un jeton d'accès à l'adresse code reçue. Le site code est reçu en réponse lorsque l'utilisateur a réussi son authentification dans le navigateur.
[override virtual protected] void QOAuth2AuthorizationCodeFlow::resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> ¶meters = {})
Réimplémente : QAbstractOAuth::resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> ¶meters).
Construit une URL d'authentification en utilisant url et parameters. Cette fonction émet un signal authorizeWithBrowser() pour demander l'interaction de l'utilisateur.
[until 6.13] void QOAuth2AuthorizationCodeFlow::setAccessTokenUrl(const QUrl &accessTokenUrl)
Cette fonction sera obsolète à partir de la version 6.13.
Utilisez QAbstractOAuth2::setTokenUrl() à la place.
Définit l'URL utilisée pour demander le jeton d'accès à accessTokenUrl.
Voir aussi accessTokenUrl().
[since 6.8] void QOAuth2AuthorizationCodeFlow::setPkceMethod(QOAuth2AuthorizationCodeFlow::PkceMethod method, qsizetype length = 43)
Définit la méthode PKCE actuelle à method.
En option, le paramètre length peut être utilisé pour définir la longueur de code_verifier. La valeur doit être comprise entre 43 et 128 octets. Le "vérificateur de code" lui-même est généré aléatoirement par la bibliothèque.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi pkceMethod() et QOAuth2AuthorizationCodeFlow::PkceMethod.
© 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.