Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update authorization.py - use the _create_request method and change requ... #197

Merged
merged 4 commits into from
Jul 26, 2013
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ Mackenzie Thompson
Hsiaoming Yang
Devin Sevilla
Clint Ecker
Kyle Valade
2 changes: 1 addition & 1 deletion docs/oauth1/server.rst
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ The client interested in accessing protected resources.

client_secret = sqlalchemy.Column(sqlalchemy.String)

**Cient public key**:
**Client public key**:
Required for RSA-SHA1. The public key used to verify the signature of
requests signed by the clients private key::

Expand Down
4 changes: 2 additions & 2 deletions oauthlib/oauth1/rfc5849/endpoints/access_token.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def create_access_token(self, request, credentials):
:returns: The token as an urlencoded string.
"""
request.realms = self.request_validator.get_realms(
request.oauth_token, request)
request.resource_owner_key, request)
token = {
'oauth_token': self.token_generator(),
'oauth_token_secret': self.token_generator(),
Expand Down Expand Up @@ -141,7 +141,7 @@ def validate_access_token_request(self, request):

if not self.request_validator.validate_timestamp_and_nonce(
request.client_key, request.timestamp, request.nonce, request,
access_token=request.resource_owner_key):
request_token=request.resource_owner_key):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nicely spotted. I just realized that this change was made incorrectly and the access_token=request.resource_owner_key should have been set in resource.py instead of access_token.py. Fancy making that change too?

return False, request

# The server SHOULD return a 401 (Unauthorized) status code when
Expand Down
26 changes: 13 additions & 13 deletions oauthlib/oauth1/rfc5849/endpoints/authorization.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,12 @@ def create_verifier(self, request, credentials):
:returns: The verifier as a dict.
"""
verifier = {
'oauth_token': request.oauth_token,
'oauth_token': request.resource_owner_key,
'oauth_verifier': self.token_generator(),
}
verifier.update(credentials)
self.request_validator.save_verifier(
request.oauth_token, verifier, request)
request.resource_owner_key, verifier, request)
return verifier

def create_authorization_response(self, uri, http_method='GET', body=None,
Expand Down Expand Up @@ -87,25 +87,25 @@ def create_authorization_response(self, uri, http_method='GET', body=None,
>>> s
302
"""
request = Request(uri, http_method=http_method, body=body,
request = self._create_request(uri, http_method=http_method, body=body,
headers=headers)

if not request.resource_owner_key:
raise errors.InvalidRequestError(
'Missing mandatory parameter oauth_token.')
if not self.request_validator.verify_request_token(
request.oauth_token, request):
request.resource_owner_key, request):
raise errors.InvalidClientError()
if not request.oauth_token:
raise NotImplementedError('request.oauth_token must be set after '
'request token verification.')

request.realms = realms
if (request.realms and not self.request_validator.verify_realms(
request.oauth_token, request.realms, request)):
request.resource_owner_key, request.realms, request)):
raise errors.InvalidRequestError(
description=('User granted access to realms outside of '
'what the client may request.'))

redirect_uri = self.request_validator.get_redirect_uri(
request.oauth_token, request)
request.resource_owner_key, request)
verifier = self.create_verifier(request, credentials or {})
uri = add_params_to_uri(redirect_uri, verifier.items())
return uri, {}, None, 302
Expand All @@ -123,13 +123,13 @@ def get_realms_and_credentials(self, uri, http_method='GET', body=None,
2. A dict of credentials which may be useful in creating the
authorization form.
"""
request = Request(uri, http_method=http_method, body=body,
request = self._create_request(uri, http_method=http_method, body=body,
headers=headers)

if not self.request_validator.verify_request_token(
request.oauth_token, request):
request.resource_owner_key, request):
raise errors.InvalidClientError()

realms = self.request_validator.get_realms(
request.oauth_token, request)
return realms, {'resource_owner_key': request.oauth_token}
request.resource_owner_key, request)
return realms, {'resource_owner_key': request.resource_owner_key}
2 changes: 1 addition & 1 deletion oauthlib/oauth1/rfc5849/endpoints/resource.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ def validate_protected_resource_request(self, uri, http_method='GET',

if not self.request_validator.validate_timestamp_and_nonce(
request.client_key, request.timestamp, request.nonce, request,
request_token=request.resource_owner_key):
access_token=request.resource_owner_key):
return False, request

# The server SHOULD return a 401 (Unauthorized) status code when
Expand Down
2 changes: 2 additions & 0 deletions oauthlib/oauth1/rfc5849/request_validator.py
Original file line number Diff line number Diff line change
Expand Up @@ -736,6 +736,8 @@ def save_verifier(self, token, verifier, request):
"""Associate an authorization verifier with a request token.

:param token: A request token string.
:param verifier A dictionary containing the oauth_verifier and
oauth_token
:param request: An oauthlib.common.Request object.

We need to associate verifiers with tokens for validation during the
Expand Down