QOAuth1类

QOAuth1类实现了OAuth 1协议更多...

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

公共类型

枚举类SignatureMethod { Hmac_Sha1, Rsa_Sha1, PlainText }

公共函数

QOAuth1(QObject *parent = nullptr)
QOAuth1(QNetworkAccessManager *manager, QObject *parent = nullptr)
QOAuth1(const QString &clientIdentifier, const QString &clientSharedSecret, QNetworkAccessManager *manager, QObject *parent = nullptr)
QPair<QString, QString>clientCredentials() const
QStringclientSharedSecret() const
voidsetClientCredentials(const QPair<QString, QString> &clientCredentials)
voidsetClientCredentials(const QString &clientIdentifier, const QString &clientSharedSecret)
voidsetClientSharedSecret(const QString &clientSharedSecret)
voidsetSignatureMethod(QOAuth1::SignatureMethod value)
voidsetTemporaryCredentialsUrl(const QUrl &url)
voidsetTokenCredentials(const QPair<QString, QString> &tokenCredentials)
voidsetTokenCredentials(const QString &token, const QString &tokenSecret)
voidsetTokenCredentialsUrl(const QUrl &url)
voidsetTokenSecret(const QString &tokenSecret)
QOAuth1::SignatureMethodsignatureMethod() const
QUrltemporaryCredentialsUrl() const
QPair<QString, QString>tokenCredentials() const
QUrltokenCredentialsUrl() const
QStringtokenSecret() 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
virtual voidprepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray()) override
virtual QNetworkReply *put(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override

公共槽

voidcontinueGrantWithVerifier(const QString &verifier)
virtual voidgrant() override

受保护的函数

QNetworkReply *requestTemporaryCredentials(QNetworkAccessManager::Operation operation, const QUrl &url, const QVariantMap &parameters = QVariantMap())
QNetworkReply *requestTokenCredentials(QNetworkAccessManager::Operation operation, const QUrl &url, const QPair<QString, QString> &temporaryToken, const QVariantMap &parameters = QVariantMap())
voidsetup(QNetworkRequest *request, const QVariantMap &signingParameters, QNetworkAccessManager::Operation operation)
voidsetup(QNetworkRequest *request, const QVariantMap &signingParameters, const QByteArray &operationVerb)

静态受保护成员

QByteArraygenerateAuthorizationHeader(const QVariantMap &oauthParams)
QByteArraynonce()

详细描述

QOAuth1提供了一种方法,供客户端代表资源所有者(如不同的客户端或最终用户)访问服务器资源。它还提供了一个过程,允许最终用户在不共享其凭据(通常是用户名和密码对)的情况下,通过用户代理重定向来授权第三方访问其服务器资源。

QOAuth1使用令牌来表示资源所有者授予客户端的权限。通常,令牌凭据是由服务器在资源所有者的请求下,在验证资源所有者的身份(通常使用用户名和密码)后发放的。

在发起临时凭据请求时,客户端仅使用客户端凭据进行验证。在发起令牌请求时,客户端使用客户端凭据以及临时凭据进行验证。一旦客户端接收并保存了令牌凭据,它就可以通过发送带有客户端凭据和接收到的令牌凭据的认证请求,代表资源所有者继续访问受保护的资源。

成员类型文档

enum class QOAuth1::SignatureMethod

表示用于签名请求的签名方法。

常数描述
QOAuth1::SignatureMethod::Hmac_Sha10HMAC-SHA1签名方法。
QOAuth1::SignatureMethod::Rsa_Sha11RSA-SHA1签名方法(不支持)。
QOAuth1::SignatureMethod::PlainText2PLAINTEXT签名方法。

成员函数文档

[显式] QOAuth1::QOAuth1(QObject *parent = nullptr)

使用父对象parent构建一个QOAuth1对象。

[显式] QOAuth1::QOAuth1(QNetworkAccessManager *manager, QObject *parent = nullptr)

用父对象 parent 构建一个 QOAuth1 对象,使用 manager 来访问网络。

QOAuth1::QOAuth1(const QString &clientIdentifier, const QString&clientSharedSecret, QNetworkAccessManager*manager, QObject *parent = nullptr)

使用父对象 parent 构建一个 QOAuth1 对象,使用 manager 来访问网络。还将 clientIdentifierclientSharedSecret 设置为在调用 web 服务时签名以标识应用程序。

QPair<QString, QString> QOAuth1::clientCredentials() const

返回用于标识应用程序并签名对 web 服务器进行请求的 QString 对。

另请参阅setClientCredentials

QString QOAuth1::clientSharedSecret() const

返回用于在 web 服务器上签名请求的当前共享密钥。

另请参阅setClientSharedSecretclientCredentials

[槽函数] void QOAuth1::continueGrantWithVerifier(const QString&verifier)

使用 verifier 继续基于重定向的授权流程。在使用带外回复处理程序提供 web 服务器提供的验证器时调用此函数。

[重写虚函数] QNetworkReply *QOAuth1::deleteResource(const QUrl&url, const QVariantMap&parameters = QVariantMap())

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

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

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

[静态受保护成员] QByteArray QOAuth1::generateAuthorizationHeader(const QVariantMap&oauthParams)

使用 oauthParams 生成授权头。

另请参阅: OAuth 1.0 协议:授权头

[重写虚函数] QNetworkReply *QOAuth1::get(const QUrl&url, const QVariantMap&parameters = QVariantMap())

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

发送一个经过身份验证的GET请求并返回一个新的QNetworkReply。使用url参数来创建请求。

参见: 超文本传输协议 - HTTP/1.1: GET

[重写虚函数] void QOAuth1::grant()

重写:QAbstractOAuth::grant()。

启动基于重定向的授权流程。

注意:对于带外回复处理程序,在调用此函数后接收一个验证字符串;将其传递给continueGrantWithVerifier()以继续授予过程。

参见: OAuth 1.0 协议:基于重定向的授权

参见: continueGrantWithVerifier

重写:QAbstractOAuth::head(const QUrl &url, const QVariantMap &parameters)。

发送一个经过身份验证的HEAD请求并返回一个新的QNetworkReply。使用url参数来创建请求。

参见: 超文本传输协议 - HTTP/1.1: HEAD

[静态保护成员变量] QByteArray QOAuth1::nonce()

生成一个nonce。

参见: OAuth 1.0 协议:Nonce 和 Timestamp

[重写虚函数] QNetworkReply *QOAuth1::post(const QUrl &url, const QVariantMap &parameters = QVariantMap())

重写:QAbstractOAuth::post(const QUrl &url, const QVariantMap &parameters)。

发送一个经过身份验证的POST请求并返回一个新的QNetworkReply。使用url参数来创建请求。

参见: 超文本传输协议 - HTTP/1.1: POST

[重写虚函数] void QOAuth1::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray())

重写:QAbstractOAuth::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body)。

[重写虚函数] QNetworkReply *QOAuth1::put(const QUrl &url, const QVariantMap &parameters = QVariantMap())

重写:QAbstractOAuth::put(const QUrl &url, const QVariantMap &parameters)。

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

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

[受保护的] QNetworkReply *QOAuth1::requestTemporaryCredentials(QNetworkAccessManager::Operation operation, const QUrl &url, const QVariantMap &parameters = QVariantMap())

使用请求方法operation开始请求临时凭证。请求URL为url,应在请求过程中进行编码并发送parameters

另请参阅OAuth 1.0 协议:临时凭证

[受保护的] QNetworkReply *QOAuth1::requestTokenCredentials(QNetworkAccessManager::Operation operation, const QUrl &url, const QPair<QString, QString> &temporaryToken, const QVariantMap &parameters = QVariantMap())

使用请求方法operation开始对令牌凭证的请求。请求URL为url且应在请求过程中进行编码并发送parameters。使用字符串对temporaryToken用来标识和签名请求。

另请参阅OAuth 1.0 协议:令牌凭证

void QOAuth1::setClientCredentials(const QPair<QString, QString> &clientCredentials)

clientCredentials设置为用于标识应用程序并签名对服务器请求的QString对。

另请参阅clientCredentials()。

void QOAuth1::setClientCredentials(const QString &clientIdentifier, const QString &clientSharedSecret)

clientIdentifierclientSharedSecret设置为用于标识应用程序并签名对服务器请求的QString对。其中clientIdentifier标识应用程序,而clientSharedSecret用于签名请求。

另请参阅clientCredentials()。

void QOAuth1::setClientSharedSecret(const QString &clientSharedSecret)

clientSharedSecret设置为用于签名对服务器请求的字符串。

另请参阅clientSharedSecret()和setClientCredentials()。

void QOAuth1::setSignatureMethod(QOAuth1::SignatureMethod value)

value设置为用于对网络服务器请求进行签名的方法。

另请参阅signatureMethod().

void QOAuth1::setTemporaryCredentialsUrl(const QUrl &url)

url设置为请求临时凭证以启动认证过程的URL。

另请参阅temporaryCredentialsUrl().

void QOAuth1::setTokenCredentials(const QPair<QString, QString> &tokenCredentials)

tokenCredentials设置为用于标识和签名为网络服务器进行认证请求的QString对。

另请参阅tokenCredentials().

void QOAuth1::setTokenCredentials(const QString &token, const QString &tokenSecret)

tokentokenSecret设置为用于标识和签名为网络服务器进行认证请求的QString对。一旦客户端收到并存储了令牌凭证,它就可以通过使用客户端凭证以及收到的令牌凭证进行认证请求,来代表资源所有者访问受保护的资源。

另请参阅tokenCredentials().

void QOAuth1::setTokenCredentialsUrl(const QUrl &url)

url设置为请求令牌凭证以继续认证过程的URL。

另请参阅tokenCredentialsUrl().

void QOAuth1::setTokenSecret(const QString &tokenSecret)

tokenSecret设置为用于签名为网络服务器进行认证调用的当前令牌密钥。

另请参阅tokenSecret() 和 setTokenCredentials().

[protected] void QOAuth1::setup(QNetworkRequest *request, const QVariantMap &signingParameters, QNetworkAccessManager::Operation operation)

使用signingParametersoperationrequest进行签名。

这是一个重载函数。

[protected] void QOAuth1::setup(QNetworkRequest *request, const QVariantMap &signingParameters, const QByteArray &operationVerb)

使用signingParametersoperationVerbrequest进行签名。

这是一个重载函数。

QOAuth1::SignatureMethod QOAuth1::signatureMethod() const

返回用于签名请求到web服务器的签名方法。

另请参阅setSignatureMethod

QUrl QOAuth1::temporaryCredentialsUrl() const

返回用于请求临时凭证以启动认证过程的URL。

另请参阅setTemporaryCredentialsUrl

QPair<QString, QString> QOAuth1::tokenCredentials() const

返回用于标识和签名认证请求到web服务器的QString对。

另请参阅setTokenCredentials

QUrl QOAuth1::tokenCredentialsUrl() const

返回用于请求令牌凭证以继续认证过程的URL。

另请参阅setTokenCredentialsUrl

QString QOAuth1::tokenSecret() const

返回当前用于签名认证请求到web服务器的令牌密钥。

另请参阅setTokenSecrettokenCredentials

© 2024 The Qt Company Ltd. 本文档中包含的贡献的文档版权属于各自的业主。本文档提供的文档是按照自由软件基金会发布的《GNU自由文档许可协议》第1.3版许可的。Qt及其相关标志是芬兰及其它国家/地区的The Qt Company Ltd.的商标。所有其他商标属于其各自的所有者。