QOAuth2AuthorizationCodeFlow 类
QOAuth2AuthorizationCodeFlow 类提供了 授权代码流 的实现。 更多...
头文件 | #include <QOAuth2AuthorizationCodeFlow> |
CMake | find_package(Qt6 REQUIRED COMPONENTS NetworkAuth) target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth) |
qmake | QT += networkauth |
继承 | QAbstractOAuth2 |
属性
- accessTokenUrl : QUrl
公共函数
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() |
QUrl | accessTokenUrl() const |
void | setAccessTokenUrl(const QUrl &accessTokenUrl) |
公共槽
信号
void | accessTokenUrlChanged(const QUrl &accessTokenUrl) |
受保护函数
QUrl | buildAuthenticateUrl(const QMultiMap<QString, QVariant> ¶meters = {}) |
void | requestAccessToken(const QString &code) |
重实现了受保护函数
虚拟 | resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> ¶meters = {}) override |
详细描述
本类实现了授权码授予权限流程,该流程既用于获取也用于刷新访问令牌。由于它是基于重定向的,因此用户需要使用网络浏览器。
属性文档
accessTokenUrl : QUrl
该属性持有用于在授权响应期间接收到的临时代码转换的URL。
另请参阅: 访问令牌请求
访问函数
QUrl | accessTokenUrl() const |
void | setAccessTokenUrl(const QUrl &accessTokenUrl) |
通知信号
void | accessTokenUrlChanged(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> ¶meters = {})
使用 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> ¶meters = {})
重新实现:QAbstractOAuth::resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> ¶meters).
使用 url 和 parameters 构建一个用于认证的 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在芬兰和/或其他国家/地区的商标。所有其他商标均为各自所有者的财产。