User Login ID
This module allows users to log in using a different identifier than their username. It provides an alternative field for authentication, separating the login credential from the display name to improve user experience and administrative clarity.
Out of the box, Drupal uses the username as login credential and display name. Without a module implementing hook_user_format_name_alter() to alter the displayed name, the value returned from User::getDisplayName() is the same value returned from User::getAccountName().
There is code in Drupal core (and probably in third-party modules) that still call User::getAccountName() (which should be used to show the username to administrators and the user who owns the account) instead of User::getDisplayName(). (See #2629286: Use getDisplayName() for user names consistently for the Drupal core.) This means that the username is still shown on pages where the display name should instead be shown.
This module defines a new base field for the User entity and uses its value when authenticating users.