- class QOAuth1Signature#
实现 OAuth 1 签名方法。《更多》…
摘要#
方法#
def
__init__()def
addRequestBody()def
hmacSha1()def
insert()defkeys()defparameters()defplainText()defrsaSha1()defsetParameters()defsetTokenSecret()defsetUrl()defswap()deftake()deftokenSecret()defurl()defvalue()
静态函数#
defplainText()
注释
本文档可能包含自动从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 –
QUrlmethod –
HttpRequestMethodparameters – .QMultiMapQString,QVariant
创建一个使用
url作为目标地址的method作为发送请求的HTTP方法以及给定的用户
parameters来增强请求的
-
QOAuth1Signature。 - 参数:
url –
QUrlclientSharedKey – str
tokenSecret – str
method –
HttpRequestMethodparameters – .QMultiMapQString,QVariant
创建一个使用
url作为目标地址的clientSharedKey用作用于验证签名的用户令牌tokenSecret用作用于验证签名的协商令牌method作为发送请求的HTTP方法以及给定的用户
parameters来增强请求的
- __init__(other)
- 参数:
other –
QOAuth1Signature
创建
other的副本。将请求体
body添加到签名中。当POST请求体包含参数时,应将它们包含在签名数据中。- 返回类型:
str
返回用于生成签名的用户密钥。
另请参阅
- customMethodString()#
- 返回类型:
返回自定义方法字符串。
- hmacSha1()#
- 返回类型:
使用客户端共享密钥和,如果可用,令片密钥生成HMAC-SHA1签名。
- httpRequestMethod()#
- 返回类型:
返回请求方法。
- insert(key, value)#
- 参数:
key – str
value – object
将新对
key,value插入到签名中。当POST请求体包含参数时,应将它们包含在签名数据中。- keys()#
- 返回类型:
.QString列表
检索已包含在签名数据中的参数键列表。
- parameters()#
- 返回类型:
.QMultiMapQString,QVariant
返回参数。
另请参阅
- 静态 plainText(clientSharedSecret, tokenSecret)#
- 参数:
clientSharedSecret – str
tokenSecret – str
- 返回类型:
从客户端密钥
clientSharedKey和令牌密钥tokenSecret生成PLAINTEXT签名。- plainText()
- 返回类型:
生成PLAINTEXT签名。
- rsaSha1()#
- 返回类型:
生成RSA-SHA1签名。
注释
目前此方法不受支持。
- 参数:
secret – str
将
secret设置为生成签名时使用的用户密钥。另请参阅
- setCustomMethodString(verb)#
- 参数:
verb –
QByteArray
设置自定义请求方法。将
httpRequestMethod设置为Custom并存储verb用于生成签名。注释
在使用自定义动词时需要使用此方法。仅设置请求方法将失败,因为签名需要知道实际的动词。
- setHttpRequestMethod(method)#
- 参数:
method –
HttpRequestMethod
设置请求
method。另请参阅
- setParameters(parameters)#
- 参数:
parameters – .QMultiMapQString,QVariant
设置
parameters。另请参阅
- setTokenSecret(secret)#
- 参数:
secret – str
将
secret设置为用于生成签名的已协商密钥。另请参阅
将 URL 设置为
url。另请参阅
- swap(other)#
- 参数:
other –
QOAuth1Signature
与另一个签名交换签名
other。此操作非常快并且永不失败。- take(key)#
- 参数:
key – str
- 返回类型:
对象
从签名数据中删除key及其关联的任何值。
- tokenSecret()#
- 返回类型:
str
返回用于生成签名的协商密钥。
另请参阅
返回URL。
另请参阅
- value(key[, defaultValue=None])#
- 参数:
key – str
defaultValue – 对象
- 返回类型:
对象
如果签名数据中存在key,则返回与key关联的值,否则返回defaultValue。