def request_token(request, oauth_params): """ **/oauth/request_token** 3 legged 인증의 첫번째 단계. 리소스 프로바이더가 [1]_ 컨슈머 [2]_ 의 서명을 확인 후 request token을 반환 다음 단계는 authorize 단계로, 컨슈머가 [2]_ 사용자 [3]_ 를 authorize 페이지로 보내어(리다이렉트 또는 url 제공) access token을 발급하도록 한다. method * POST * oauth_signature required oauth paramters * oauth_callback * oauth_consumer_key * oauth_nonce * oauth_signature_method * oauth_timestamp * oauth_version note * 동네API는 oauth_signature_method 로 HMAC-SHA1만을 지원한다. * 동네API는 oauth_version 1.0을 지원한다. * callback을 처리할 수 없는 클라이언트는 oauth_callback 값으로 "oob" (out-of-band)를 설정하면 PIN(개인 인증 번호) flow을 따를 수 있다. footnote .. [1] resource provider; 자원 제공자인 동네API를 의미 .. [2] consumer; 동네API를 사용하는 것이 허가된 애플리케이션 .. [3] user; 동네 회원. 컨슈머에게 패스워드를 알려주지 않는 대신, access token을 발급해주어서 보호된 자원을 컨슈머가 사용하도록 허가 또는 불허할 수 있다. """ #if request.method == "GET": # raise AuthError("request method for 'request token' should be POST") try: consumer_key = oauth_params['oauth_consumer_key'] callback = oauth_params['oauth_callback'] except KeyError: return HttpResponseBadRequest() token = Token.new_request_token(consumer_key, callback) return HttpResponse(token.to_oauth().to_string())