Skip to content

Commit fec95b2

Browse files
author
lijianguo
committed
chore(oauth2): update user info pipline
1 parent 17b7a70 commit fec95b2

File tree

4 files changed

+13
-4
lines changed

4 files changed

+13
-4
lines changed

rootfs/api/authentication.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ def _get_user(key):
5353
user_info = OAuthManager().get_user_by_token(key)
5454
if not user_info.get('email'):
5555
user_info['email'] = OAuthManager().get_email_by_token(key)
56-
return serializers.UserSerializer.update_or_create(user_info)
56+
user, _ = serializers.UserSerializer.update_or_create(user_info)
57+
return user
5758
except Exception as e:
5859
logger.info(e)
5960
raise exceptions.AuthenticationFailed(_('Verify token fail.'))

rootfs/api/backend.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def authenticate(self, request, username=None, password=None, **kwargs):
2525
user_info['password'] = password
2626
if not user_info.get('email'):
2727
user_info['email'] = client.get_email()
28-
user = serializers.UserSerializer.update_or_create(user_info)
28+
user, _ = serializers.UserSerializer.update_or_create(user_info)
2929
return user
3030

3131
def get_user(self, user_id):

rootfs/api/pipeline.py

+9-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,15 @@
22

33

44
def update_or_create(backend, user, response, *args, **kwargs):
5-
UserSerializer.update_or_create(response)
5+
user, created = UserSerializer.update_or_create(response)
6+
7+
if not created:
8+
return {'is_new': False}
9+
10+
return {
11+
'is_new': True,
12+
'user': user
13+
}
614

715

816
def load_extra_data(backend, details, response, uid, user, *args, **kwargs):

rootfs/api/serializers.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ def update_or_create(data):
164164
user.date_joined = now
165165
user.set_unusable_password()
166166
user.save()
167-
return user
167+
return user, created
168168

169169

170170
class AdminUserSerializer(serializers.ModelSerializer):

0 commit comments

Comments
 (0)