QAbstractOAuth2 类
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 |
| virtual QNetworkReply * | post(const QUrl &url, const QByteArray &data) |
| virtual QNetworkReply * | post(const QUrl &url, QHttpMultiPart *multiPart) |
| virtual QNetworkReply * | put(const QUrl &url, const QByteArray &data) |
| virtual QNetworkReply * | put(const QUrl &url, QHttpMultiPart *multiPart) |
| 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 |
重写公开函数
| virtual QNetworkReply * | deleteResource(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
| virtual QNetworkReply * | get(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
| virtual QNetworkReply * | head(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
| virtual QNetworkReply * | post(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
| 虚函数 | prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray()) override |
| 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 标准为不同的 Web 服务创建自定义认证方法。
有关 OAuth 2 的工作原理的描述可以在以下文档中找到:OAuth 2.0 授权框架
属性文档
clientIdentifierSharedKey : QString
此属性包含用于密码的客户端共享密钥,如果服务器要求身份验证以请求令牌。
访问函数
| QString | clientIdentifierSharedKey() const |
| void | setClientIdentifierSharedKey(const QString &clientIdentifierSharedKey) |
通知信号
| void | clientIdentifierSharedKeyChanged(const QString &clientIdentifierSharedKey) |
[只读] expiration : const QDateTime
此属性包含当前访问令牌的过期时间。
访问函数
| QDateTime | expirationAt() const |
通知信号
| void | expirationAtChanged(const QDateTime &expiration) |
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) |
通知信号
| void | stateChanged(const QString &state) |
userAgent : QString
该属性存储用于创建网络请求的 User-Agent 标头。
默认值是 "QtOAuth/1.0 (+https://www.qt.io)"。
访问函数
| QString | userAgent() const |
| void | setUserAgent(const QString &userAgent) |
通知信号
| void | userAgentChanged(const QString &userAgent) |
成员函数文档
[显式] QAbstractOAuth2::QAbstractOAuth2(QObject *parent = nullptr)
使用 parent 作为父对象构造 QAbstractOAuth2 对象。
[显式] QAbstractOAuth2::QAbstractOAuth2(QNetworkAccessManager *manager, QObject *parent = nullptr)
使用 parent 作为父对象构造 QAbstractOAuth2 对象,并设置 manager 作为网络访问管理器。
[虚
无异常] QAbstractOAuth2::~QAbstractOAuth2()
无异常]
销毁 QAbstractOAuth2 实例。
[信号] void QAbstractOAuth2::authorizationCallbackReceived(const QVariantMap &data)
当响应服务器从服务器接收授权回调时发出信号:data 包含从服务器接收的值。
[虚
可调用] QUrl QAbstractOAuth2::createAuthenticatedUrl(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
可调用]
返回的 URL 基于 url,结合提供的 parameters 和访问令牌。
注意:此函数可以通过元对象系统和 QML 调用。请参阅 Q_INVOKABLE。
[重载虚
可调用] QNetworkReply *QAbstractOAuth2::deleteResource(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
可调用]
重新实现:QAbstractOAuth::deleteResource(const QUrl &url, const QVariantMap ¶meters).
发送一个经过身份验证的 DELETE 请求,并返回一个新的 QNetworkReply。使用 url 和 parameters 创建请求。
另请参阅: 超文本传输协议 – HTTP/1.1: DELETE
注意:此函数可以通过元对象系统和 QML 调用。请参阅 Q_INVOKABLE。
[信号] void QAbstractOAuth2::error(const QString &error, const QString &errorDescription, const QUrl &uri)
当服务器用定义在 RFC 6749 错误响应 中的错误响应授权请求时发出信号。
错误是错误的名称;错误描述描述了错误,而uri是包含有关错误更多信息的可选URI。
另请参阅QAbstractOAuth::requestFailed。
[重写虚可调用] QNetworkReply *QAbstractOAuth2::get(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
重新实现:QAbstractOAuth::get(const QUrl &url, const QVariantMap ¶meters)。
发送已验证的GET请求并返回一个新的QNetworkReply。使用url和parameters创建请求。
注意:此函数可以通过元对象系统和 QML 调用。请参阅 Q_INVOKABLE。
[重写虚可调用] QNetworkReply *QAbstractOAuth2::head(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
重新实现:QAbstractOAuth::head(const QUrl &url, const QVariantMap ¶meters)。
发送已验证的HEAD请求并返回一个新的QNetworkReply。使用url和parameters创建请求。
注意:此函数可以通过元对象系统和 QML 调用。请参阅 Q_INVOKABLE。
[重写虚可调用] QNetworkReply *QAbstractOAuth2::post(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
重新实现:QAbstractOAuth::post(const QUrl &url, const QVariantMap ¶meters)。
发送已验证的POST请求并返回一个新的QNetworkReply。使用url和parameters创建请求。
注意:此函数可以通过元对象系统和 QML 调用。请参阅 Q_INVOKABLE。
[虚拟可调用] QNetworkReply *QAbstractOAuth2::post(const QUrl &url, const QByteArray &data)
这是一个重载函数。
发送已验证的POST请求并返回一个新的QNetworkReply。使用url和data创建请求。
{超文本传输协议 - HTTP/1.1:POST}
注意:此函数可以通过元对象系统和 QML 调用。请参阅 Q_INVOKABLE。
另请参阅 post()和https://tools.ietf.org/html/rfc2616#section-9.6。
[虚拟可调用] QNetworkReply *QAbstractOAuth2::post(const QUrl &url, QHttpMultiPart *multiPart)
这是一个重载函数。
发送已验证的POST请求并返回一个新的QNetworkReply。使用url和multiPart创建请求。
{超文本传输协议 - HTTP/1.1:POST}
注意:此函数可以通过元对象系统和 QML 调用。请参阅 Q_INVOKABLE。
另请参阅 post()、QHttpMultiPart和https://tools.ietf.org/html/rfc2616#section-9.6。
[覆盖虚函数] void QAbstractOAuth2::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray())
重新实现: QAbstractOAuth::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body).
[覆盖虚可调用函数] QNetworkReply *QAbstractOAuth2::put(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
重新实现: QAbstractOAuth::put(const QUrl &url, const QVariantMap ¶meters).
发送经过身份验证的PUT请求并返回一个新的QNetworkReply。使用url和parameters创建请求。
另请参阅: 超文本传输协议 – HTTP/1.1: PUT
注意:此函数可以通过元对象系统和 QML 调用。请参阅 Q_INVOKABLE。
[虚可调用函数] QNetworkReply *QAbstractOAuth2::put(const QUrl &url, const QByteArray &data)
这是一个重载函数。
发送 经过身份验证的PUT请求并返回一个新的QNetworkReply。使用url和data创建请求。
{超文本传输协议 – HTTP/1.1: PUT}
注意:此函数可以通过元对象系统和 QML 调用。请参阅 Q_INVOKABLE。
另请参阅 put() 和 https://tools.ietf.org/html/rfc2616#section-9.6。
[虚可调用函数] QNetworkReply *QAbstractOAuth2::put(const QUrl &url, QHttpMultiPart *multiPart)
这是一个重载函数。
发送 经过身份验证的PUT请求并返回一个新的QNetworkReply。使用url和multiPart创建请求。
{超文本传输协议 – HTTP/1.1: PUT}
注意:此函数可以通过元对象系统和 QML 调用。请参阅 Q_INVOKABLE。
另请参阅 put(),QHttpMultiPart,以及 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连接时要使用的TLS配置。
此函数在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。
© 2024 Qt公司有限公司。此处包含的文档贡献属于其各自所有者的版权。此处提供的文档是根据自由软件基金会发布的GNU自由文档许可协议版本1.3的条款进行许可的。Qt和相应的标志是芬兰Qt公司及其在世界各地的注册商标。所有其他商标均为其各自所有者的财产。