【问题标题】:generating an OAuth signature base with python [duplicate]使用python生成OAuth签名库[重复]
【发布时间】:2012-11-30 23:09:27
【问题描述】:

可能重复:
Implementaion HMAC-SHA1 in python

`我正在尝试使用 python 进行一些 OAuth 身份验证,但我的 oauth_signature 不断被拒绝。 Python 3 对我来说很新,所以有人可以告诉我这段代码有什么问题:

api_key = 'string'
api_secret = 'another_string'
sig_key = api_secret + '&' + api_key
hmac_alg = hmac.new(sig_key.encode('utf-8'), sig_base_str.encode('utf-8'),hashlib.sha1)

signature_base = base64.b64encode(hmac_alg.digest())
url = url_base + '?' + 'oauth_signature=' + urllib.parse.quote(str(signature_base.decode('utf-8')),'') + '&' + str(param_str)

param_str 是我的输入参数的& 分隔字符串。 HTTP 服务似乎读得很好,因为它会根据我的要求改变输出响应。它只是一直拒绝我的签名。我认为 hmac 是罪魁祸首。

【问题讨论】:

  • 我认为我的问题在于将伪代码转换为python。因为 hmac 不接受字符串。

标签: python oauth


【解决方案1】:

你可以试试下面的

api_key = b'string'
api_secret = b'another_string'

来自 python 文档

PEP 3112:字节文字。 b"..." 字符串文字符号(及其 b'...'、b"""...""" 和 br"...") 等变体现在会生成文字 字节类型。

【讨论】:

  • 似乎您回答的问题与所提出的问题完全不同。
  • 我想我明白你在说什么。我试过用这个key = b'secret&key' 还是没有骰子
猜你喜欢
  • 2017-03-17
  • 2019-11-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-08
  • 1970-01-01
  • 1970-01-01
  • 2011-08-25
  • 1970-01-01
相关资源
最近更新 更多