From 8640ded6ea4ea1693a84c874dfa9acdad13710c1 Mon Sep 17 00:00:00 2001 From: Nikolai Kristiansen Date: Sat, 28 Dec 2013 01:01:53 +0100 Subject: [PATCH] Django auth fixes --- pydusken/authentication.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pydusken/authentication.py b/pydusken/authentication.py index 6f57602..386b1c2 100644 --- a/pydusken/authentication.py +++ b/pydusken/authentication.py @@ -52,14 +52,16 @@ class DuskenBackend(object): user = User.objects.get(email=username) else: user = User.objects.get(username=username) - if not user.duskenaccesstoken: - d = DuskenAccessToken(access_token=access_token, user=user) - d.save() - else: - # refresh access_token + + try: + # Try refreshing access token if user.duskenaccesstoken.access_token != access_token: user.duskenaccesstoken.access_token = access_token=access_token user.save() + except: + # ..create if not + d = DuskenAccessToken(access_token=access_token, user=user) + d.save() except User.DoesNotExist: # if user does not exist, create a local user user = User(username=username)