o
    mi                     @   sD   d dl mZ d dlmZ d dlmZ ddlmZ G dd deZdS )	    )ModelBackend)get_user_model)Q   )Userc                   @   s   e Zd ZdddZdd ZdS )EmailOrPhoneNoAuthBackendNc                 K   s>   t jt| dt| dB jdd }|r||r|S d S )N)Zemail__iexact)phone_noT)	is_active)r   objectsfilterr   firstcheck_password)emailpasswordkwargsuser r   G/var/www/html/kuke-dev/django-kuke/apps/user/authentication_backends.pyauthenticate	   s   (z&EmailOrPhoneNoAuthBackend.authenticatec                 C   s(   zt jj|dW S  t jy   Y dS w )zc
        Overrides the get_user method to allow users to log in using their email address.
        )pkN)r   r
   getDoesNotExist)selfuser_idr   r   r   get_user   s
   z"EmailOrPhoneNoAuthBackend.get_user)NN)__name__
__module____qualname__r   r   r   r   r   r   r      s    

r   N)	django.contrib.auth.backendsr   django.contrib.authr   django.db.modelsr   modelsr   r   r   r   r   r   <module>   s
    