QAbstractOAuth2 Class
QAbstractOAuth2 类是所有 OAuth 2 身份验证方法实现的基础。更多
| 头文件: | #include <QAbstractOAuth2> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS NetworkAuth)target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth) |
| qmake: | QT += networkauth |
| 继承: | QAbstractOAuth |
| 继承于: |
属性
|
公共函数
| QAbstractOAuth2(QObject *parent = nullptr) | |
| QAbstractOAuth2(QNetworkAccessManager *manager, QObject *parent = nullptr) | |
| virtual | ~QAbstractOAuth2() |
| QString | clientIdentifierSharedKey() const |
| virtual QUrl | createAuthenticatedUrl(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) |
| QDateTime | expirationAt() const |
(until 6.11) virtual QNetworkReply * | post(const QUrl &url, QHttpMultiPart *multiPart) |
(until 6.11) virtual QNetworkReply * | post(const QUrl &url, const QByteArray &data) |
(until 6.11) virtual QNetworkReply * | put(const QUrl &url, QHttpMultiPart *multiPart) |
(until 6.11) virtual QNetworkReply * | put(const QUrl &url, const QByteArray &data) |
| QString | refreshToken() const |
| QString | responseType() const |
| QString | scope() const |
| void | setClientIdentifierSharedKey(const QString &clientIdentifierSharedKey) |
| void | setRefreshToken(const QString &refreshToken) |
| void | setScope(const QString &scope) |
(since 6.5) void | setSslConfiguration(const QSslConfiguration &configuration) |
| void | setState(const QString &state) |
| void | setUserAgent(const QString &userAgent) |
(since 6.5) QSslConfiguration | sslConfiguration() const |
| QString | state() const |
| QString | userAgent() const |
重新实现的公共函数
(until 6.11) virtual QNetworkReply * | deleteResource(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
(until 6.11) virtual QNetworkReply * | get(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
(until 6.11) virtual QNetworkReply * | head(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
(until 6.11) virtual QNetworkReply * | post(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
| virtual void | prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray()) override |
(until 6.11) virtual QNetworkReply * | put(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
信号
| void | authorizationCallbackReceived(const QVariantMap &data) |
| void | clientIdentifierSharedKeyChanged(const QString &clientIdentifierSharedKey) |
| void | error(const QString &error, const QString &errorDescription, const QUrl &uri) |
| void | expirationAtChanged(const QDateTime &expiration) |
| void | refreshTokenChanged(const QString &refreshToken) |
| void | scopeChanged(const QString &scope) |
(since 6.5) void | sslConfigurationChanged(const QSslConfiguration &configuration) |
| void | stateChanged(const QString &state) |
| void | userAgentChanged(const QString &userAgent) |
详细说明
该类定义了 OAuth 2 身份验证类的基本接口。通过继承该类,您可以使用 OAuth 2 标准为不同的网络服务创建自定义身份验证方法。
有关 OAuth 2 工作原理的说明,请参阅《OAuth 2.0 授权》(The OAuth 2.0 Authorization):OAuth 2.0 授权框架
属性文档
clientIdentifierSharedKey : QString
如果服务器需要验证才能请求令牌,该属性将保存用作密码的客户端共享密钥。
访问功能:
| QString | clientIdentifierSharedKey() const |
| void | setClientIdentifierSharedKey(const QString &clientIdentifierSharedKey) |
通知信号:
| void | clientIdentifierSharedKeyChanged(const QString &clientIdentifierSharedKey) |
[read-only] expiration : const QDateTime
该属性用于保存当前访问令牌的过期时间。无效值表示授权服务器没有提供有效的过期时间。
访问功能:
| QDateTime | expirationAt() const |
Notifier 信号:
| void | expirationAtChanged(const QDateTime &expiration) |
另请参阅 QDateTime::isValid().
scope : QString
该属性包含所需的范围,该范围定义了客户端请求的权限。
范围值会更新为授权服务器授予的范围值。如果是空范围响应,则假定请求的范围已被授予,不会更改。
访问功能:
| QString | scope() const |
| void | setScope(const QString &scope) |
通知信号:
| void | scopeChanged(const QString &scope) |
state : QString
该属性保存身份验证过程中发送到服务器的字符串。收到回调时,该状态用于识别和验证请求。
访问功能:
| QString | state() const |
| void | setState(const QString &state) |
Notifier 信号:
| void | stateChanged(const QString &state) |
userAgent : QString
该属性包含用于创建网络请求的 User-Agent 标头。
默认值为 "QtOAuth/1.0 (+https://www.qt.io)"。
访问功能:
| QString | userAgent() const |
| void | setUserAgent(const QString &userAgent) |
Notifier 信号:
| void | userAgentChanged(const QString &userAgent) |
成员函数文档
[explicit] QAbstractOAuth2::QAbstractOAuth2(QObject *parent = nullptr)
使用parent 作为父对象,构造一个 QAbstractOAuth2 对象。
[explicit] QAbstractOAuth2::QAbstractOAuth2(QNetworkAccessManager *manager, QObject *parent = nullptr)
使用parent 作为父对象构建 QAbstractOAuth2 对象,并将manager 设置为网络访问管理器。
[virtual noexcept] QAbstractOAuth2::~QAbstractOAuth2()
销毁QAbstractOAuth2 实例。
[signal] void QAbstractOAuth2::authorizationCallbackReceived(const QVariantMap &data)
当回复服务器收到来自服务器的授权回调时发出的信号:data 包含从服务器收到的值。
[virtual invokable] QUrl QAbstractOAuth2::createAuthenticatedUrl(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
返回的 URL 基于url ,并与给定的parameters 和访问令牌相结合。
注: 可通过元对象系统和 QML 调用该函数。请参见Q_INVOKABLE 。
[override virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::deleteResource(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
该函数计划在 6.11 版本中停用。
重实现:QAbstractOAuth::deleteResource(const QUrl &url, const QVariantMap ¶meters).
请直接使用QtNetwork 类,参见HTTP 方法替代方法。
发送经过验证的 DELETE 请求,并返回一个新的QNetworkReply 。url 和parameters 用于创建请求。
另请参阅 超文本传输协议 - HTTP/1.1:DELETE
注: 可通过元对象系统和 QML 调用该函数。参见Q_INVOKABLE 。
[signal] void QAbstractOAuth2::error(const QString &error, const QString &errorDescription, const QUrl &uri)
当服务器以RFC 6749 错误响应中定义的错误响应授权请求时发出的信号。
error 是错误的名称; 描述了该错误; 是一个可选的 URI,包含有关该错误的更多信息。errorDescription uri
另请参阅 QAbstractOAuth::requestFailed() 。
[override virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::get(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
该函数计划在 6.11 版本中停用。
重实现:QAbstractOAuth::get(const QUrl &url, const QVariantMap ¶meters).
请直接使用QtNetwork 类,参见HTTP 方法替代方法。
发送经过验证的 GET 请求,并返回一个新的QNetworkReply 。url 和parameters 用于创建请求。
注: 可通过元对象系统和 QML 调用该函数。参见Q_INVOKABLE 。
[override virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::head(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
该函数计划在 6.11 版本中停用。
重实现:QAbstractOAuth::head(const QUrl &url, const QVariantMap ¶meters).
请直接使用QtNetwork 类,参见HTTP 方法替代方法。
发送一个经过验证的 HEAD 请求,并返回一个新的QNetworkReply 。url 和parameters 用于创建请求。
注: 可通过元对象系统和 QML 调用该函数。参见Q_INVOKABLE 。
[override virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::post(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
该函数计划在 6.11 版本中停用。
重实现:QAbstractOAuth::post(const QUrl &url, const QVariantMap ¶meters).
请直接使用QtNetwork 类,参见HTTP 方法替代方法。
发送经过验证的 POST 请求,并返回一个新的QNetworkReply 。url 和parameters 用于创建请求。
注: 可通过元对象系统和 QML 调用该函数。参见Q_INVOKABLE 。
[virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::post(const QUrl &url, QHttpMultiPart *multiPart)
该函数计划在 6.11 版中废弃。
请直接使用QtNetwork 类,参见HTTP 方法替代方案。
这是一个重载函数。
发送一个经过验证的 POST 请求,并返回一个新的QNetworkReply 。url 和multiPart 用于创建请求。
{超文本传输协议 - HTTP/1.1:POST}
注: 该函数可通过元对象系统和 QML 调用。参见Q_INVOKABLE 。
另请参阅 post(),QHttpMultiPart, 和https://tools.ietf.org/html/rfc2616#section-9.6。
[virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::post(const QUrl &url, const QByteArray &data)
该函数计划在 6.11 版中废弃。
请直接使用QtNetwork 类,参见HTTP 方法替代方案。
这是一个重载函数。
发送一个经过验证的 POST 请求,并返回一个新的QNetworkReply 。url 和data 用于创建请求。
{超文本传输协议 - HTTP/1.1:POST}
注: 该函数可通过元对象系统和 QML 调用。参见Q_INVOKABLE 。
另请参阅 post() 和https://tools.ietf.org/html/rfc2616#section-9.6。
[override virtual] void QAbstractOAuth2::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray())
重实现:QAbstractOAuth::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body).
[override virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::put(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
该函数计划在 6.11 版本中停用。
重实现:QAbstractOAuth::put(const QUrl &url, const QVariantMap ¶meters).
请直接使用QtNetwork 类,参见HTTP 方法替代方法。
发送经过验证的 PUT 请求并返回一个新的QNetworkReply 。url 和parameters 用于创建请求。
注: 可通过元对象系统和 QML 调用该函数。参见Q_INVOKABLE 。
[virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::put(const QUrl &url, QHttpMultiPart *multiPart)
该函数计划在 6.11 版中废弃。
请直接使用QtNetwork 类,参见HTTP 方法替代方案。
这是一个重载函数。
发送一个经过验证的 PUT 请求,并返回一个新的QNetworkReply 。url 和multiPart 用于创建请求。
{超文本传输协议 - HTTP/1.1:PUT}
注: 可通过元对象系统和 QML 调用该函数。参见Q_INVOKABLE 。
另请参阅 put(),QHttpMultiPart, 和https://tools.ietf.org/html/rfc2616#section-9.6。
[virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::put(const QUrl &url, const QByteArray &data)
该函数计划在 6.11 版中废弃。
请直接使用QtNetwork 类,参见HTTP 方法替代方案。
这是一个重载函数。
发送一个经过验证的 PUT 请求,并返回一个新的QNetworkReply 。url 和data 用于创建请求。
{超文本传输协议 - HTTP/1.1:PUT}
注: 可通过元对象系统和 QML 调用该函数。参见Q_INVOKABLE 。
另请参阅 put() 和https://tools.ietf.org/html/rfc2616#section-9.6。
QString QAbstractOAuth2::refreshToken() const
获取当前刷新令牌。
刷新令牌的有效期通常比访问令牌长,因此保存刷新令牌以供日后使用是合理的。
返回当前刷新令牌,如果没有可用的刷新令牌,则返回空字符串。
注: 属性 refreshToken 的获取函数。
另请参阅 setRefreshToken()。
QString QAbstractOAuth2::responseType() const
返回使用的response_type。
void QAbstractOAuth2::setRefreshToken(const QString &refreshToken)
设置要使用的新刷新令牌refreshToken 。
可使用自定义刷新令牌通过此方法刷新访问令牌,然后通过QOAuth2AuthorizationCodeFlow::refreshAccessToken() 刷新访问令牌。
注: 属性refreshToken 的设置函数。
另请参阅 refreshToken()。
[since 6.5] void QAbstractOAuth2::setSslConfiguration(const QSslConfiguration &configuration)
设置在客户端和授权服务器之间建立相互 TLS 连接时使用的 TLSconfiguration 。
此函数在 Qt 6.5 中引入。
另请参阅 sslConfiguration() 和sslConfigurationChanged()。
[since 6.5] QSslConfiguration QAbstractOAuth2::sslConfiguration() const
返回在客户端与授权服务器之间建立相互 TLS 连接时使用的 TLS 配置。
此函数在 Qt 6.5 中引入。
另请参阅 setSslConfiguration() 和sslConfigurationChanged()。
[signal, since 6.5] void QAbstractOAuth2::sslConfigurationChanged(const QSslConfiguration &configuration)
该信号在 TLS 配置发生变化时发出。configuration 参数包含新的 TLS 配置。
该函数在 Qt 6.5 中引入。
另请参阅 sslConfiguration() 和setSslConfiguration()。
© 2025 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.