summaryrefslogtreecommitdiff
path: root/oauthlib/oauth1/rfc5849/endpoints/authorization.py
diff options
context:
space:
mode:
authorTyler Jones <tyler@gumstix.com>2013-07-26 11:13:21 -0700
committerTyler Jones <tyler@gumstix.com>2013-07-26 11:19:16 -0700
commitc4255477329a48bc01a4402c11abdb4bc178c235 (patch)
tree956cee58962eda695f92cd5803f3aa688ba75e89 /oauthlib/oauth1/rfc5849/endpoints/authorization.py
parentf794cf31971274766378faf140d60e5ec3807286 (diff)
downloadoauthlib-c4255477329a48bc01a4402c11abdb4bc178c235.tar.gz
The authorization endpoint now returns a 200 on "oob" oauth_callbacks.
Diffstat (limited to 'oauthlib/oauth1/rfc5849/endpoints/authorization.py')
-rw-r--r--oauthlib/oauth1/rfc5849/endpoints/authorization.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/oauthlib/oauth1/rfc5849/endpoints/authorization.py b/oauthlib/oauth1/rfc5849/endpoints/authorization.py
index 7fe39c4..bfa28c0 100644
--- a/oauthlib/oauth1/rfc5849/endpoints/authorization.py
+++ b/oauthlib/oauth1/rfc5849/endpoints/authorization.py
@@ -13,6 +13,7 @@ from oauthlib.common import Request, add_params_to_uri
from .base import BaseEndpoint
from .. import errors
+import urllib
class AuthorizationEndpoint(BaseEndpoint):
@@ -104,11 +105,16 @@ class AuthorizationEndpoint(BaseEndpoint):
description=('User granted access to realms outside of '
'what the client may request.'))
+ verifier = self.create_verifier(request, credentials or {})
redirect_uri = self.request_validator.get_redirect_uri(
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
+ if redirect_uri == 'oob':
+ populated_redirect = add_params_to_uri(redirect_uri, verifier.items())
+ return populated_redirect, {}, None, 302
+ else:
+ response_headers = {'Content-Type': 'application/x-www-form-urlencoded'}
+ response_body = urllib.urlencode(verifier)
+ return None, response_headers, response_body, 200
def get_realms_and_credentials(self, uri, http_method='GET', body=None,
headers=None):