Commit ae093a4 Chris Routh
authored
1 parent c6b6530 commit ae093a4 Copy full SHA for ae093a4
File tree 1 file changed +14
-4
lines changed
1 file changed +14
-4
lines changed Original file line number Diff line number Diff line change @@ -178,11 +178,21 @@ def logout(self, request):
178
178
if 'rest_framework_simplejwt.token_blacklist' in settings .INSTALLED_APPS :
179
179
# add refresh token to blacklist
180
180
try :
181
- token = RefreshToken (request .data ['refresh' ])
181
+ token : RefreshToken = RefreshToken (None )
182
+ if api_settings .JWT_AUTH_HTTPONLY :
183
+ try :
184
+ token = RefreshToken (request .COOKIES [api_settings .JWT_AUTH_REFRESH_COOKIE ])
185
+ except KeyError :
186
+ response .data = {'detail' : _ ('Refresh token was not included in cookie data.' )}
187
+ response .status_code = status .HTTP_401_UNAUTHORIZED
188
+ else :
189
+ try :
190
+ token = RefreshToken (request .data ['refresh' ])
191
+ except KeyError :
192
+ response .data = {'detail' : _ ('Refresh token was not included in request data.' )}
193
+ response .status_code = status .HTTP_401_UNAUTHORIZED
194
+
182
195
token .blacklist ()
183
- except KeyError :
184
- response .data = {'detail' : _ ('Refresh token was not included in request data.' )}
185
- response .status_code = status .HTTP_401_UNAUTHORIZED
186
196
except (TokenError , AttributeError , TypeError ) as error :
187
197
if hasattr (error , 'args' ):
188
198
if 'Token is blacklisted' in error .args or 'Token is invalid or expired' in error .args :
You can’t perform that action at this time.
0 commit comments