2011-08-02 2 views
2

저는 Django에서 OAuth를위한 2 족 공급자를 작성하는 방법에 대한 자습서/예제/설명을 찾고 있습니다. 액세스 토큰 또는 액세스 토큰 비밀 않고 단지 일반 OAuth를 요청한다Django에서 two-legged OAuth 공급자 작성하기

그것은 ...의 OAuth 공급자에 대한 문서, 두 다리가 시스템에 대한 훨씬 더 힘들어을 찾기 어렵다

답변

1

'두 다리'. 그게 전부 야. 클라이언트 자격 증명 (식별자 및 암호)을 계속 사용하지만 액세스 토큰 매개 변수에 빈 문자열을 사용합니다. 사용하는 서버 라이브러리에 따라 요청시 oauth_token 매개 변수를 생략 할 수 있습니다.

5

나는이 문제를 알아 내려고 약 3 일 동안이 작업에 사용할 수있는 사람을 제공하기 위해 원 예를 들어 나는 질의하려고했던 서비스에서 마침내 얻었습니다. 그것은 매우 쉽게 끝내었다. 추신 누군가가 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 

이 함수를 호출하고 출력을 볼 수는 다음과 같습니다

request = build_request('http://demo.echo360.com/ess/scheduleapi/v1/terms') 
u = urllib2.urlopen(request.to_url()) 
print u.readlines() 
+0

재미, 그것은 정확한 내 다른 질문 중 하나와 같은 소스 코드입니다 : http://stackoverflow.com/questions/6924569/doing-a-file-upload-with-python-oauth2#comment9204818_69245. 그리고 oauth2 라이브러리는 OAuth 1.0a에서만 사용할 수 있습니다. 그들의 도서관의 매우 혼란스러운 이름 ... –