<!-- migrator:start --> *This issue was originally created by [**@<!-- -->sandhose**](https://github.com/sandhose) at <https://github.com/matrix-org/matrix-authentication-service/issues/2089>.* <!-- migrator:end --> When there is a new upstream OAuth 2.0 link and the localpart imported matches an existing user, we have 4 choices: - do nothing, and fail the registration/login (corresponds to `allow_existing_users: false` in Synapse) - import the link *if and only if* there is no existing link for this user - import the link and *replace* any existing link for this user - import the link without overriding existing links for this user (corresponds to `allow_existing_users: true` in Synapse)