In some cases, such as when a server has been switched to use OIDC after already using default settings for a while, there may be an overlap between usernames returned from OIDC, and usernames that already existed in the database.
For example, let’s say that someone with username
gordonbrownfan
and email addressgordon_is_best@example.org
has an account on a GtS instance that uses the default sign-in flow.That GtS instance then switches to using OIDC login. However, in the OIDC’s storage there’s also a user with username
gordonbrownfan
. If this user has the email addressgordon_is_best@example.org
, then GoToSocial will assume that the two users are the same and just loggordonbrownfan
in as though nothing had changed. No problem!However, if the user in the OIDC storage has a different email address, GoToSocial will try to create a new user and account for this person.
Since the username
gordonbrownfan
is already taken, GoToSocial will trygordonbrownfan1
. If this is also taken, it will trygordonbrownfan2
, and so on, until it finds a username that’s not yet taken. It will then sign the requester in as that user/account, distinct from the originalgordonbrownfan
.
I find it to be simple with no possibility of failures
https://docs.gotosocial.org/en/latest/configuration/oidc/