Fix pubkey auth bug

pull/530/head
ibuler 2016-11-07 16:59:52 +08:00
parent a75e1db970
commit ea3f8af161
2 changed files with 9 additions and 3 deletions

View File

@ -140,4 +140,4 @@ class UserTokenApi(APIView):
cache.set('%s_%s' % (user.id, remote_addr), token, self.expiration)
return Response({'token': token, 'id': user.id, 'username': user.username, 'name': user.name})
else:
return Response({'msg': 'Invalid password or public key or user is not active or expired'})
return Response({'msg': 'Invalid password or public key or user is not active or expired'}, status=401)

View File

@ -187,8 +187,14 @@ def check_user_valid(**kwargs):
return None
if password and user.check_password(password):
return user
if public_key and user.public_key == public_key:
return user
if public_key:
public_key_saved = user.public_key.split()
if len(public_key_saved) == 1:
if public_key == public_key_saved[0]:
return user
elif len(public_key_saved) > 1:
if public_key == public_key_saved[1]:
return user
return None