QAbstractOAuth2 类

QAbstractOAuth2 类是所有 OAuth 2 认证方法实现的基类。 更多...

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

QOAuth2AuthorizationCodeFlow

属性

公开函数

QAbstractOAuth2(QObject *parent = nullptr)
QAbstractOAuth2(QNetworkAccessManager *manager, QObject *parent = nullptr)
virtual~QAbstractOAuth2()
QStringclientIdentifierSharedKey() const
virtual QUrlcreateAuthenticatedUrl(const QUrl &url, const QVariantMap &parameters = QVariantMap())
QDateTimeexpirationAt() 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)
QStringrefreshToken() const
QStringresponseType() const
QStringscope() const
voidsetClientIdentifierSharedKey(const QString &clientIdentifierSharedKey)
voidsetRefreshToken(const QString &refreshToken)
voidsetScope(const QString &scope)
(since 6.5) voidsetSslConfiguration(const QSslConfiguration &configuration)
voidsetState(const QString &state)
voidsetUserAgent(const QString &userAgent)
(since 6.5) QSslConfigurationsslConfiguration() const
QStringstate() const
QStringuserAgent() const

重写公开函数

virtual QNetworkReply *deleteResource(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override
virtual QNetworkReply *get(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override
virtual QNetworkReply *head(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override
virtual QNetworkReply *post(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override
虚函数prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray()) override
virtual QNetworkReply *put(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override

信号

voidauthorizationCallbackReceived(const QVariantMap &data)
voidclientIdentifierSharedKeyChanged(const QString &clientIdentifierSharedKey)
voiderror(const QString &error, const QString &errorDescription, const QUrl &uri)
voidexpirationAtChanged(const QDateTime &expiration)
voidrefreshTokenChanged(const QString &refreshToken)
voidscopeChanged(const QString &scope)
(since 6.5) voidsslConfigurationChanged(const QSslConfiguration &configuration)
voidstateChanged(const QString &state)
voiduserAgentChanged(const QString &userAgent)

详细描述

该类定义了 OAuth 2 认证类的基本接口。通过继承此类,您可以使用 OAuth 2 标准为不同的 Web 服务创建自定义认证方法。

有关 OAuth 2 的工作原理的描述可以在以下文档中找到:OAuth 2.0 授权框架

属性文档

clientIdentifierSharedKey : QString

此属性包含用于密码的客户端共享密钥,如果服务器要求身份验证以请求令牌。

访问函数

QStringclientIdentifierSharedKey() const
voidsetClientIdentifierSharedKey(const QString &clientIdentifierSharedKey)

通知信号

voidclientIdentifierSharedKeyChanged(const QString &clientIdentifierSharedKey)

[只读] expiration : const QDateTime

此属性包含当前访问令牌的过期时间。

访问函数

QDateTimeexpirationAt() const

通知信号

voidexpirationAtChanged(const QDateTime &expiration)

scope : QString

此属性包含想要的范围,它定义了客户端请求的权限。

访问函数

QStringscope() const
voidsetScope(const QString &scope)

通知信号

voidscopeChanged(const QString &scope)

state : QString

该属性存储在认证过程中发送到服务器的字符串。此状态用于在接收到回调时识别和验证请求。

访问函数

QStringstate() const
voidsetState(const QString &state)

通知信号

voidstateChanged(const QString &state)

userAgent : QString

该属性存储用于创建网络请求的 User-Agent 标头。

默认值是 "QtOAuth/1.0 (+https://www.qt.io)"。

访问函数

QStringuserAgent() const
voidsetUserAgent(const QString &userAgent)

通知信号

voiduserAgentChanged(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 &parameters = QVariantMap())

返回的 URL 基于 url,结合提供的 parameters 和访问令牌。

注意:此函数可以通过元对象系统和 QML 调用。请参阅 Q_INVOKABLE

[重载虚
可调用]
QNetworkReply *QAbstractOAuth2::deleteResource(const QUrl &url, const QVariantMap &parameters = QVariantMap())

重新实现:QAbstractOAuth::deleteResource(const QUrl &url, const QVariantMap &parameters).

发送一个经过身份验证的 DELETE 请求,并返回一个新的 QNetworkReply。使用 urlparameters 创建请求。

另请参阅: 超文本传输协议 – 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 &parameters = QVariantMap())

重新实现:QAbstractOAuth::get(const QUrl &url, const QVariantMap &parameters)。

发送已验证的GET请求并返回一个新的QNetworkReply。使用urlparameters创建请求。

另请参阅超文本传输协议 - HTTP/1.1:GET

注意:此函数可以通过元对象系统和 QML 调用。请参阅 Q_INVOKABLE

重新实现:QAbstractOAuth::head(const QUrl &url, const QVariantMap &parameters)。

发送已验证的HEAD请求并返回一个新的QNetworkReply。使用urlparameters创建请求。

另请参阅超文本传输协议 - HTTP/1.1:HEAD

注意:此函数可以通过元对象系统和 QML 调用。请参阅 Q_INVOKABLE

[重写虚可调用] QNetworkReply *QAbstractOAuth2::post(const QUrl &url, const QVariantMap &parameters = QVariantMap())

重新实现:QAbstractOAuth::post(const QUrl &url, const QVariantMap &parameters)。

发送已验证的POST请求并返回一个新的QNetworkReply。使用urlparameters创建请求。

另请参阅超文本传输协议 - HTTP/1.1:POST

注意:此函数可以通过元对象系统和 QML 调用。请参阅 Q_INVOKABLE

[虚拟可调用] QNetworkReply *QAbstractOAuth2::post(const QUrl &url, const QByteArray &data)

这是一个重载函数。

发送已验证的POST请求并返回一个新的QNetworkReply。使用urldata创建请求。

{超文本传输协议 - 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。使用urlmultiPart创建请求。

{超文本传输协议 - HTTP/1.1:POST}

注意:此函数可以通过元对象系统和 QML 调用。请参阅 Q_INVOKABLE

另请参阅 post()、QHttpMultiParthttps://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 &parameters = QVariantMap())

重新实现: QAbstractOAuth::put(const QUrl &url, const QVariantMap &parameters).

发送经过身份验证的PUT请求并返回一个新的QNetworkReply。使用urlparameters创建请求。

另请参阅: 超文本传输协议 – HTTP/1.1: PUT

注意:此函数可以通过元对象系统和 QML 调用。请参阅 Q_INVOKABLE

[虚可调用函数] QNetworkReply *QAbstractOAuth2::put(const QUrl &url, const QByteArray &data)

这是一个重载函数。

发送 经过身份验证的PUT请求并返回一个新的QNetworkReply。使用urldata创建请求。

{超文本传输协议 – 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。使用urlmultiPart创建请求。

{超文本传输协议 – 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公司及其在世界各地的注册商标。所有其他商标均为其各自所有者的财产。