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公司及其在世界各地的注册商标。所有其他商标均为其各自所有者的财产。