MCPcopy
hub / github.com/django/django / authenticate

Method authenticate

django/contrib/auth/backends.py:270–298  ·  view source on GitHub ↗

The username passed as ``remote_user`` is considered trusted. Return the ``User`` object with the given username. Create a new ``User`` object if ``create_unknown_user`` is ``True``. Return None if ``create_unknown_user`` is ``False`` and a ``User`` object w

(self, request, remote_user)

Source from the content-addressed store, hash-verified

268 create_unknown_user = True
269
270 def authenticate(self, request, remote_user):
271 """
272 The username passed as ``remote_user`` is considered trusted. Return
273 the ``User`` object with the given username. Create a new ``User``
274 object if ``create_unknown_user`` is ``True``.
275
276 Return None if ``create_unknown_user`` is ``False`` and a ``User``
277 object with the given username is not found in the database.
278 """
279 if not remote_user:
280 return
281 created = False
282 user = None
283 username = self.clean_username(remote_user)
284
285 # Note that this could be accomplished in one try-except clause, but
286 # instead we use get_or_create when creating unknown users since it has
287 # built-in safeguards for multiple threads.
288 if self.create_unknown_user:
289 user, created = UserModel._default_manager.get_or_create(
290 **{UserModel.USERNAME_FIELD: username}
291 )
292 else:
293 try:
294 user = UserModel._default_manager.get_by_natural_key(username)
295 except UserModel.DoesNotExist:
296 pass
297 user = self.configure_user(request, user, created=created)
298 return user if self.user_can_authenticate(user) else None
299
300 async def aauthenticate(self, request, remote_user):
301 """See authenticate()."""

Callers

nothing calls this directly

Calls 5

clean_usernameMethod · 0.95
configure_userMethod · 0.95
get_or_createMethod · 0.45
get_by_natural_keyMethod · 0.45
user_can_authenticateMethod · 0.45

Tested by

no test coverage detected