QOAuth1类
头文件 | #include <QOAuth1> |
CMake | find_package(Qt6 REQUIRED COMPONENTS NetworkAuth) target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth) |
qmake | QT += 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 |
QString | clientSharedSecret() const |
void | setClientCredentials(const QPair<QString, QString> &clientCredentials) |
void | setClientCredentials(const QString &clientIdentifier, const QString &clientSharedSecret) |
void | setClientSharedSecret(const QString &clientSharedSecret) |
void | setSignatureMethod(QOAuth1::SignatureMethod value) |
void | setTemporaryCredentialsUrl(const QUrl &url) |
void | setTokenCredentials(const QPair<QString, QString> &tokenCredentials) |
void | setTokenCredentials(const QString &token, const QString &tokenSecret) |
void | setTokenCredentialsUrl(const QUrl &url) |
void | setTokenSecret(const QString &tokenSecret) |
QOAuth1::SignatureMethod | signatureMethod() const |
QUrl | temporaryCredentialsUrl() const |
QPair<QString, QString> | tokenCredentials() const |
QUrl | tokenCredentialsUrl() const |
QString | tokenSecret() 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 |
virtual void | prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray()) override |
virtual QNetworkReply * | put(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
公共槽
void | continueGrantWithVerifier(const QString &verifier) |
virtual void | grant() override |
受保护的函数
QNetworkReply * | requestTemporaryCredentials(QNetworkAccessManager::Operation operation, const QUrl &url, const QVariantMap ¶meters = QVariantMap()) |
QNetworkReply * | requestTokenCredentials(QNetworkAccessManager::Operation operation, const QUrl &url, const QPair<QString, QString> &temporaryToken, const QVariantMap ¶meters = QVariantMap()) |
void | setup(QNetworkRequest *request, const QVariantMap &signingParameters, QNetworkAccessManager::Operation operation) |
void | setup(QNetworkRequest *request, const QVariantMap &signingParameters, const QByteArray &operationVerb) |
静态受保护成员
QByteArray | generateAuthorizationHeader(const QVariantMap &oauthParams) |
QByteArray | nonce() |
详细描述
QOAuth1提供了一种方法,供客户端代表资源所有者(如不同的客户端或最终用户)访问服务器资源。它还提供了一个过程,允许最终用户在不共享其凭据(通常是用户名和密码对)的情况下,通过用户代理重定向来授权第三方访问其服务器资源。
QOAuth1使用令牌来表示资源所有者授予客户端的权限。通常,令牌凭据是由服务器在资源所有者的请求下,在验证资源所有者的身份(通常使用用户名和密码)后发放的。
在发起临时凭据请求时,客户端仅使用客户端凭据进行验证。在发起令牌请求时,客户端使用客户端凭据以及临时凭据进行验证。一旦客户端接收并保存了令牌凭据,它就可以通过发送带有客户端凭据和接收到的令牌凭据的认证请求,代表资源所有者继续访问受保护的资源。
成员函数文档
[显式]
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 来访问网络。还将 clientIdentifier 和 clientSharedSecret 设置为在调用 web 服务时签名以标识应用程序。
QPair<QString, QString> QOAuth1::clientCredentials() const
返回用于标识应用程序并签名对 web 服务器进行请求的 QString 对。
另请参阅setClientCredentials。
QString QOAuth1::clientSharedSecret() const
返回用于在 web 服务器上签名请求的当前共享密钥。
另请参阅setClientSharedSecret 和 clientCredentials。
[槽函数]
void QOAuth1::continueGrantWithVerifier(const QString&verifier)
使用 verifier 继续基于重定向的授权流程。在使用带外回复处理程序提供 web 服务器提供的验证器时调用此函数。
[重写虚函数]
QNetworkReply *QOAuth1::deleteResource(const QUrl&url, const QVariantMap¶meters = QVariantMap())
重新实现: QAbstractOAuth::deleteResource(const QUrl &url, const QVariantMap ¶meters).
发送一个已验证的 DELETE 请求,并返回一个新的 QNetworkReply。使用 url 和 parameters 来创建请求。
另请参阅: 超文本传输协议 – HTTP/1.1: DELETE
[静态受保护成员]
QByteArray QOAuth1::generateAuthorizationHeader(const QVariantMap&oauthParams)
使用 oauthParams 生成授权头。
另请参阅: OAuth 1.0 协议:授权头
[重写虚函数]
QNetworkReply *QOAuth1::get(const QUrl&url, const QVariantMap¶meters = QVariantMap())
重新实现: QAbstractOAuth::get(const QUrl &url, const QVariantMap ¶meters).
发送一个经过身份验证的GET请求并返回一个新的QNetworkReply。使用url和参数来创建请求。
[重写虚函数]
void QOAuth1::grant()
重写:QAbstractOAuth::grant()。
启动基于重定向的授权流程。
注意:对于带外回复处理程序,在调用此函数后接收一个验证字符串;将其传递给continueGrantWithVerifier()以继续授予过程。
参见: continueGrantWithVerifier。
[重写虚函数]
QNetworkReply *QOAuth1::head(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
重写:QAbstractOAuth::head(const QUrl &url, const QVariantMap ¶meters)。
发送一个经过身份验证的HEAD请求并返回一个新的QNetworkReply。使用url和参数来创建请求。
[静态保护成员变量]
QByteArray QOAuth1::nonce()
生成一个nonce。
参见: OAuth 1.0 协议:Nonce 和 Timestamp
[重写虚函数]
QNetworkReply *QOAuth1::post(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
重写:QAbstractOAuth::post(const QUrl &url, const QVariantMap ¶meters)。
发送一个经过身份验证的POST请求并返回一个新的QNetworkReply。使用url和参数来创建请求。
[重写虚函数]
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 ¶meters = QVariantMap())
重写:QAbstractOAuth::put(const QUrl &url, const QVariantMap ¶meters)。
发送一个经过身份验证的PUT请求,并返回一个新的QNetworkReply。使用url和parameters来创建请求。
[受保护的]
QNetworkReply *QOAuth1::requestTemporaryCredentials(QNetworkAccessManager::Operation operation, const QUrl &url, const QVariantMap ¶meters = QVariantMap())
使用请求方法operation开始请求临时凭证。请求URL为url,应在请求过程中进行编码并发送parameters。
另请参阅:OAuth 1.0 协议:临时凭证
[受保护的]
QNetworkReply *QOAuth1::requestTokenCredentials(QNetworkAccessManager::Operation operation, const QUrl &url, const QPair<QString, QString> &temporaryToken, const QVariantMap ¶meters = 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)
将clientIdentifier和clientSharedSecret设置为用于标识应用程序并签名对服务器请求的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)
将token和tokenSecret设置为用于标识和签名为网络服务器进行认证请求的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)
使用signingParameters和operation对request进行签名。
这是一个重载函数。
[protected]
void QOAuth1::setup(QNetworkRequest *request, const QVariantMap &signingParameters, const QByteArray &operationVerb)
使用signingParameters和operationVerb对request进行签名。
这是一个重载函数。
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。
QString QOAuth1::tokenSecret() const
返回当前用于签名认证请求到web服务器的令牌密钥。
© 2024 The Qt Company Ltd. 本文档中包含的贡献的文档版权属于各自的业主。本文档提供的文档是按照自由软件基金会发布的《GNU自由文档许可协议》第1.3版许可的。Qt及其相关标志是芬兰及其它国家/地区的The Qt Company Ltd.的商标。所有其他商标属于其各自的所有者。