- class QOAuth1Signature#
实现 OAuth 1 签名方法。《更多》…
摘要#
方法#
def
__init__()
def
addRequestBody()
def
hmacSha1()
def
insert()
def
keys()
def
parameters()
def
plainText()
def
rsaSha1()
def
setParameters()
def
setTokenSecret()
def
setUrl()
def
swap()
def
take()
def
tokenSecret()
def
url()
def
value()
静态函数#
def
plainText()
注释
本文档可能包含自动从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 –
QUrl
method –
HttpRequestMethod
parameters – .QMultiMapQString,QVariant
创建一个使用
url
作为目标地址的method
作为发送请求的HTTP方法以及给定的用户
parameters
来增强请求的
-
QOAuth1Signature
。 - 参数:
url –
QUrl
clientSharedKey – str
tokenSecret – str
method –
HttpRequestMethod
parameters – .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。