david / django-oauth (http://oauth.net/)
Support of OAuth in Django. Note that http://code.welldev.org/django-oauth-plus will use python-oauth2 if you're interested in it.
| commit 42: | 02962bee73ef |
| parent 41: | dccb76f25f3f |
| branch: | default |
Give a way to know if the authorization succeed or not to the callback view, you can now test on passed args if there is a token or an error. Thanks Toby White.
11 months ago
Changed (Δ238 bytes):
raw changeset »
oauth_provider/views.py (9 lines added, 5 lines removed)
Up to file-list oauth_provider/views.py:
| … | … | @@ -91,9 +91,9 @@ def user_authorization(request): |
91 |
91 |
# authorize the token |
92 |
92 |
token = oauth_server.authorize_token(token, request.user) |
93 |
93 |
# return the token key |
94 |
args = |
|
94 |
args = { 'token': token } |
|
95 |
95 |
else: |
96 |
args = |
|
96 |
args = { 'error': _('Access not granted by user.') } |
|
97 |
97 |
except OAuthError, err: |
98 |
98 |
response = send_oauth_error(err) |
99 |
99 |
|
| … | … | @@ -102,7 +102,11 @@ def user_authorization(request): |
102 |
102 |
url_delimiter = "&" |
103 |
103 |
else: |
104 |
104 |
url_delimiter = "?" |
105 |
|
|
105 |
if 'token' in args: |
|
106 |
query_args = args['token'].to_string(only_key=True) |
|
107 |
else: # access is not authorized i.e. error |
|
108 |
query_args = 'error=%s' % args['error'] |
|
109 |
response = HttpResponseRedirect('%s%s%s' % (callback, url_delimiter, query_args)) |
|
106 |
110 |
else: |
107 |
111 |
# try to get custom callback view |
108 |
112 |
callback_view_str = getattr(settings, OAUTH_CALLBACK_VIEW, |
| … | … | @@ -111,7 +115,7 @@ def user_authorization(request): |
111 |
115 |
callback_view = get_callable(callback_view_str) |
112 |
116 |
except AttributeError: |
113 |
117 |
raise Exception, "%s view doesn't exist." % callback_view_str |
114 |
response = callback_view(request |
|
118 |
response = callback_view(request, **args) |
|
115 |
119 |
else: |
116 |
120 |
response = send_oauth_error(OAuthError(_('Action not allowed.'))) |
117 |
121 |
return response |
| … | … | @@ -149,7 +153,7 @@ def fake_authorize_view(request, token, |
149 |
153 |
""" |
150 |
154 |
return HttpResponse('Fake authorize view for %s.' % token.consumer.name) |
151 |
155 |
|
152 |
def fake_callback_view(request |
|
156 |
def fake_callback_view(request, **args): |
|
153 |
157 |
""" |
154 |
158 |
Fake view for tests. It must return an ``HttpResponse``. |
155 |
159 |
