title: Django: How to override authenticate() method?
body: <p>I use custom <code>User</code>, and I have an <code>email_verified</code> field for this user.
  I'd like when a user sign in, to be rejected if this field is <code>false</code>.</p>
  
  <p>I can't do it in <code>views.py</code> since users can sign in from various sources (Django site but REST APIs too).
  The whole purpose is to avoid to write N times the logic for N sign in sources. I'd like to override a method (<code>login()</code> ? <code>authenticate()</code> ?) in models.py to do that only once.</p>
  
  <p>I quickly read the doc about <a href="https://docs.djangoproject.com/en/dev/topics/auth/customizing/#customizing-authentication-in-django" rel="nofollow">customizing authentication</a> but did'nt find what I'm looking for.</p>
  
  <p>Thanks for help.</p>