summaryrefslogtreecommitdiff
path: root/oauthlib/oauth1/rfc5849/endpoints/authorization.py
diff options
context:
space:
mode:
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):