The {authmap} table can not use multiple external authentication mechanisms since authname
is unique. The module
is not associated at all in the schema with authname
so it was a real problem to integrate multiple account from the same provider. A common convention was to add a suffix '@module' in the authname column, letting very few flexibility for module developers.
We decided to completely deprecate the {authmap} and the utilities functions such as user_set_authmap
, user_get_authmap
, user_external_load
and user_external_login_register
. Module developers are now encouraged to write their own solution for managing user external authentication and storing remote identities. We believe this will provide more flexibility, and in the mean time, will help to create a better API for user module.
Alternatively, they can use the contrib module ExternalAuth (https://www.drupal.org/project/externalauth), which provides Drupal 8 services for storing authmap data and logging in / registering external users to Drupal 8.