Skip to content

Commit

Permalink
Delete Refresh token before Access Token to avoid cascade deadlock
Browse files Browse the repository at this point in the history
  • Loading branch information
NiekHoekstra authored and jleclanche committed Feb 14, 2018
1 parent f41d0df commit 859c39d
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion oauth2_provider/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -335,8 +335,10 @@ def revoke(self):
Delete this refresh token along with related access token
"""
access_token_model = get_access_token_model()
access_token_model.objects.get(id=self.access_token.id).revoke()
token = access_token_model.objects.get(id=self.access_token.id)
# Avoid cascade by deleting self first.
self.delete()
token.revoke()

def __str__(self):
return self.token
Expand Down

0 comments on commit 859c39d

Please sign in to comment.