QOAuth2AuthorizationCodeFlow 类

QOAuth2AuthorizationCodeFlow 类提供了 授权代码流 的实现。 更多...

头文件 #include <QOAuth2AuthorizationCodeFlow>
CMakefind_package(Qt6 REQUIRED COMPONENTS NetworkAuth)
target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth)
qmakeQT += networkauth
继承 QAbstractOAuth2

属性

公共函数

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)
虚拟~QOAuth2AuthorizationCodeFlow()
QUrlaccessTokenUrl() const
voidsetAccessTokenUrl(const QUrl &accessTokenUrl)

公共槽

虚拟grant() override
void刷新访问令牌()

信号

voidaccessTokenUrlChanged(const QUrl &accessTokenUrl)

受保护函数

QUrlbuildAuthenticateUrl(const QMultiMap<QString, QVariant> &parameters = {})
voidrequestAccessToken(const QString &code)

重实现了受保护函数

虚拟resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> &parameters = {}) override

详细描述

本类实现了授权码授予权限流程,该流程既用于获取也用于刷新访问令牌。由于它是基于重定向的,因此用户需要使用网络浏览器。

属性文档

accessTokenUrl : QUrl

该属性持有用于在授权响应期间接收到的临时代码转换的URL。

另请参阅: 访问令牌请求

访问函数

QUrlaccessTokenUrl() const
voidsetAccessTokenUrl(const QUrl &accessTokenUrl)

通知信号

voidaccessTokenUrlChanged(const QUrl &accessTokenUrl)

成员函数文档

[明确指派] QOAuth2AuthorizationCodeFlow::QOAuth2AuthorizationCodeFlow(QObject *parent = nullptr)

使用父对象 parent 构造一个 QOAuth2AuthorizationCodeFlow 对象。

[明确指派] QOAuth2AuthorizationCodeFlow::QOAuth2AuthorizationCodeFlow(QNetworkAccessManager *manager, QObject *parent = nullptr)

使用父对象 parent 构造一个 QOAuth2AuthorizationCodeFlow 对象,并将 manager 设置为网络访问管理器。

QOAuth2AuthorizationCodeFlow::QOAuth2AuthorizationCodeFlow(const QString &clientIdentifier, QNetworkAccessManager *manager, QObject *parent = nullptr)

使用父对象 parent 构造一个 QOAuth2AuthorizationCodeFlow 对象,并将 manager 设置为网络访问管理器。客户端标识符设置为 clientIdentifier

QOAuth2AuthorizationCodeFlow::QOAuth2AuthorizationCodeFlow(const QUrl &authenticateUrl, const QUrl &accessTokenUrl, QNetworkAccessManager *manager, QObject *parent = nullptr)

使用父对象 parent 构造一个 QOAuth2AuthorizationCodeFlow 对象,并将 manager 设置为网络访问管理器。设置身份验证 URL 为 authenticateUrl 以及访问令牌 URL 为 accessTokenUrl

QOAuth2AuthorizationCodeFlow::QOAuth2AuthorizationCodeFlow(const QString &clientIdentifier, const QUrl &authenticateUrl, const QUrl &accessTokenUrl, QNetworkAccessManager *manager, QObject *parent = nullptr)

使用父对象 parent 构造一个 QOAuth2AuthorizationCodeFlow 对象,并将 manager 设置为网络访问管理器。将客户端标识符设置为 clientIdentifier,将身份验证 URL 设置为 authenticateUrl,并将访问令牌 URL 设置为 accessTokenUrl

[虚拟 noexcept] QOAuth2AuthorizationCodeFlow::~QOAuth2AuthorizationCodeFlow()

销毁 QOAuth2AuthorizationCodeFlow 实例。

QUrl QOAuth2AuthorizationCodeFlow::accessTokenUrl() const

返回请求访问令牌所使用的 URL。

注意:accessTokenUrl 属性的获取器函数。

另请参阅:setAccessTokenUrl

[保护] QUrl QOAuth2AuthorizationCodeFlow::buildAuthenticateUrl(const QMultiMap<QString, QVariant> &parameters = {})

使用 parameters 生成用于 授权请求 的认证 URL。

[重载虚函数槽] void QOAuth2AuthorizationCodeFlow::grant()

重新实现:QAbstractOAuth::grant

开始认证流程,如 OAuth 2.0 授权框架 中所述

[槽函数] void QOAuth2AuthorizationCodeFlow::refreshAccessToken()

调用此函数以刷新令牌。访问令牌不是永久的。当访问令牌被获取时所指定的某个时间后,访问令牌将失效。

如果刷新令牌失败且存在访问令牌,状态设置为 QAbstractOAuth::Status::Granted,如果没有 alors 设置为 QAbstractOAuth::Status::NotAuthenticated

另请参阅:QAbstractOAuth::requestFailed() 和 刷新令牌

[保护] void QOAuth2AuthorizationCodeFlow::requestAccessToken(const QString &code)

从接收的 code 请求访问令牌。当用户在浏览器中完成成功的认证时,将接收该 code 作为响应。

[重载虚保护函数] void QOAuth2AuthorizationCodeFlow::resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> &parameters = {})

重新实现:QAbstractOAuth::resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> &parameters).

使用 urlparameters 构建一个用于认证的 URL。该函数将触发一个 authorizeWithBrowser() 信号以要求用户交互。

void QOAuth2AuthorizationCodeFlow::setAccessTokenUrl(const QUrl &accessTokenUrl)

将请求访问令牌所使用的 URL 设置为 accessTokenUrl

注意:accessTokenUrl 属性的设置器函数。

另请参阅 accessTokenUrl

© 2024 The Qt Company Ltd. 本文档中包含的贡献属于各自所有者。本文档根据自由软件基金会发布的《GNU自由文档许可协议》第1.3版提供,许可协议链接:[GNU Free Documentation License version 1.3](http://www.gnu.org/licenses/fdl.html)。Qt及其相关标志是The Qt Company Ltd在芬兰和/或其他国家/地区的商标。所有其他商标均为各自所有者的财产。