def authenticate_credentials(self, payload):
"""
Returns an active user that matches the payload's user id and email.
"""
UserModel = get_user_model()
remote_user = jwt_get_username_from_payload(payload)
if not remote_user:
msg = _('Invalid payload.')
raise exceptions.AuthenticationFailed(msg)
# RemoteUserBackend behavior:
# return
user = None
username = self.clean_username(remote_user)
if self.create_unknown_user:
user, created = UserModel._default_manager.get_or_create(**{
UserModel.USERNAME_FIELD: username
})
if created:
user = self.configure_user(user)
else:
try:
user = UserModel._default_manager.get_by_natural_key(username)
except UserModel.DoesNotExist:
msg = _('Invalid signature.')
raise exceptions.AuthenticationFailed(msg)
# RemoteUserBackend behavior:
# pass
user = self.configure_user_permissions(user, payload)
return user if self.user_can_authenticate(user) else None
authentication.py 文件源码
python
阅读 27
收藏 0
点赞 0
评论 0
评论列表
文章目录