class QOAuth1Signature#

实现 OAuth 1 签名方法。《更多》…

摘要#

方法#

静态函数#

注释

本文档可能包含自动从C++转换为Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译存在问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建票据来让我们知晓。

详细描述#

OAuth身份验证请求可以有两个凭证集:通过“oauth_consumer_key”参数传递的凭证和“oauth_token”参数中的凭证。为了使服务器验证请求的真实性并防止未授权访问,客户端需要证明它是凭证的合法所有者。这是通过使用每组凭证的共享密钥(或RSA密钥)部分来实现的。

OAuth定义了三种方法,供客户端证明其凭证的合法拥有权:“HMAC-SHA1”、“RSA-SHA1”和“PLAINTEXT”。每种方法都生成一个“签名”,用于对请求进行“签名”;前两种方法使用生成这一签名时所签名的数据的摘要,而最后一种则不使用。这里不支持“RSA-SHA1”方法;它将使用RSA密钥而不是与客户端凭证关联的共享密钥。

class HttpRequestMethod#

表示HTTP请求方法。

常量

描述

QOAuth1Signature.HttpRequestMethod.Head

HEAD方法。

QOAuth1Signature.HttpRequestMethod.Get

GET方法。

QOAuth1Signature.HttpRequestMethod.Put

PUT方法。

QOAuth1Signature.HttpRequestMethod.Post

POST方法。

QOAuth1Signature.HttpRequestMethod.Delete

DELETE方法。

QOAuth1Signature.HttpRequestMethod.Custom

标识一个自定义方法。

QOAuth1Signature.HttpRequestMethod.Unknown

方法未设置。

__init__([url=QUrl()[, method=QOAuth1Signature.HttpRequestMethod.Post[, parameters={}]]])#
参数:

创建一个使用

  • url作为目标地址的

  • method作为发送请求的HTTP方法

  • 以及给定的用户parameters来增强请求的

QOAuth1Signature
参数:
  • urlQUrl

  • clientSharedKey – str

  • tokenSecret – str

  • methodHttpRequestMethod

  • parameters – .QMultiMapQString,QVariant

创建一个使用

  • url作为目标地址的

  • clientSharedKey用作用于验证签名的用户令牌

  • tokenSecret用作用于验证签名的协商令牌

  • method作为发送请求的HTTP方法

  • 以及给定的用户parameters来增强请求的

__init__(other)
参数:

otherQOAuth1Signature

创建other的副本。

addRequestBody(body)#
参数:

bodyQUrlQuery

将请求体body添加到签名中。当POST请求体包含参数时,应将它们包含在签名数据中。

clientSharedKey()#
返回类型:

str

返回用于生成签名的用户密钥。

另请参阅

setClientSharedKey()

customMethodString()#
返回类型:

QByteArray

返回自定义方法字符串。

hmacSha1()#
返回类型:

QByteArray

使用客户端共享密钥和,如果可用,令片密钥生成HMAC-SHA1签名。

httpRequestMethod()#
返回类型:

HttpRequestMethod

返回请求方法。

另请参阅

setHttpRequestMethod()

insert(key, value)#
参数:
  • key – str

  • value – object

将新对keyvalue插入到签名中。当POST请求体包含参数时,应将它们包含在签名数据中。

keys()#
返回类型:

.QString列表

检索已包含在签名数据中的参数键列表。

parameters()#
返回类型:

.QMultiMapQString,QVariant

返回参数。

另请参阅

setParameters()

静态 plainText(clientSharedSecret, tokenSecret)#
参数:
  • clientSharedSecret – str

  • tokenSecret – str

返回类型:

QByteArray

从客户端密钥clientSharedKey和令牌密钥tokenSecret生成PLAINTEXT签名。

plainText()
返回类型:

QByteArray

生成PLAINTEXT签名。

rsaSha1()#
返回类型:

QByteArray

生成RSA-SHA1签名。

注释

目前此方法不受支持。

setClientSharedKey(secret)#
参数:

secret – str

secret 设置为生成签名时使用的用户密钥。

另请参阅

clientSharedKey()

setCustomMethodString(verb)#
参数:

verbQByteArray

设置自定义请求方法。将 httpRequestMethod 设置为 Custom 并存储 verb 用于生成签名。

注释

在使用自定义动词时需要使用此方法。仅设置请求方法将失败,因为签名需要知道实际的动词。

setHttpRequestMethod(method)#
参数:

methodHttpRequestMethod

设置请求 method

另请参阅

httpRequestMethod()

setParameters(parameters)#
参数:

parameters – .QMultiMapQString,QVariant

设置 parameters

另请参阅

parameters()

setTokenSecret(secret)#
参数:

secret – str

secret 设置为用于生成签名的已协商密钥。

另请参阅

tokenSecret()

setUrl(url)#
参数:

urlQUrl

将 URL 设置为 url

另请参阅

url()

swap(other)#
参数:

otherQOAuth1Signature

与另一个签名交换签名 other。此操作非常快并且永不失败。

take(key)#
参数:

key – str

返回类型:

对象

从签名数据中删除key及其关联的任何值。

tokenSecret()#
返回类型:

str

返回用于生成签名的协商密钥。

另请参阅

setTokenSecret()

url()#
返回类型:

QUrl

返回URL。

另请参阅

setUrl()

value(key[, defaultValue=None])#
参数:
  • key – str

  • defaultValue – 对象

返回类型:

对象

如果签名数据中存在key,则返回与key关联的值,否则返回defaultValue