OAuth 1.0 - 如何在标头中传递令牌?

时间:2014-07-29 11:17:51

标签: python oauth

有一个网站需要OAuth 1.0并且需​​要使用令牌。我尝试了代码:

def request(path=None):
    token = access_token()
    headers = { 'Authorization' : 'oauth_token %s' %  token }
    res = requests.get('https://somewebsite.com/v1'+path, headers=headers)
    print res.text

或将oauth_token替换为access_tokenTOK:。它们只是不起作用,返回错误Access_token is empty。身份验证方法是否与各种站点不同?

1 个答案:

答案 0 :(得分:1)

正确的标题格式为:

Authorization: OAuth param1_name="param1 value", param2_name="param2 value"

所以OAuth后跟逗号分隔的名称 - 值对。

oauth_token键是参数名称:

headers = {'Authorization': 'OAuth oauth_token="%s"' %  token}

但是,根据Accessing Protected Resources预期会有更多参数,您需要发送的不仅仅是令牌。

如果您打算自己尝试实现此功能,请至少查看OAuth RFCPython oauthlib library source code。您还可以查看Requests-OAuthlib integration layer