在Django中编写一个两脚OAuth提供程序

Len*_*rt- 2 django oauth django-piston

我正在寻找关于在Django中为OAuth编写两条腿提供程序的教程/示例/解释.

很难找到关于OAuth提供商的文档,甚至更难找到一个两足系统......

Hel*_*enM 5

我花了大约3天试图解决这个问题,并希望提供任何可以使用它的人,这个工作示例我终于得到了我试图查询的服务.结果非常简单.PS只是因为有人使用oauth 1.0 并不意味着你不能使用oauth2库.

要获取auth2,请键入pip install oauth2.

在您的脚本中,您需要:

import oauth2
import time
import urllib2


def build_request(url, method='GET'):
    params = {                                            
        'oauth_version': "1.0",
        'oauth_nonce': oauth2.generate_nonce(),
        'oauth_timestamp': int(time.time())
    }
    consumer = oauth2.Consumer(key='python_test',secret='your_secret')
    params['oauth_consumer_key'] = consumer.key

    req = oauth2.Request(method=method, url=url, parameters=params)
    signature_method = oauth2.SignatureMethod_HMAC_SHA1()
    req.sign_request(signature_method, consumer, None)
    return req
Run Code Online (Sandbox Code Playgroud)

调用函数并查看输出如下所示:

request = build_request('http://demo.echo360.com/ess/scheduleapi/v1/terms')
u = urllib2.urlopen(request.to_url())
print u.readlines()
Run Code Online (Sandbox Code Playgroud)