@@ -117,14 +117,16 @@ def get(self, request, *args, **kwargs):
117
117
# Check to see if the user has already granted access and return
118
118
# a successful response
119
119
require_approval = request .GET .get ('approval_prompt' , 'force' )
120
- if require_approval == 'auto' and request .user .accesstoken_set .filter (
121
- application = kwargs ['application' ],
122
- expires__gt = timezone .now ()).count ():
123
- uri , headers , body , status = self .create_authorization_response (
124
- request = self .request , scopes = " " .join (scopes ),
125
- credentials = credentials , allow = True )
126
- self .success_url = uri
127
- return HttpResponseRedirect (self .success_url )
120
+ if require_approval == 'auto' :
121
+ tokens = request .user .accesstoken_set .filter (application = kwargs ['application' ],
122
+ expires__gt = timezone .now ()).all ()
123
+ for token in tokens :
124
+ if token .allow_scopes (scopes ):
125
+ uri , headers , body , status = self .create_authorization_response (
126
+ request = self .request , scopes = " " .join (scopes ),
127
+ credentials = credentials , allow = True )
128
+ return HttpResponseRedirect (uri )
129
+
128
130
return self .render_to_response (self .get_context_data (** kwargs ))
129
131
130
132
except OAuthToolkitError as error :
0 commit comments