Ability to delete identities for user
Problem to solve
Many users have multiple linked identities consisting of a provider and an external UID. The API appears to only define methods for
- adding new providers and external uids
- modifying the external uid of an existing provider
It does not appear to expose the ability to delete a provider.
Further details
As an administrator, I'd like to migrate to a new SSO provider and retire the old one. While I believe that I have the tools for adding the new identities for each user and I can prevent the old one from being used for login, I'd nevertheless like to do proper cleanup of "dead" identities.
Proposal
Expose a method by which providers can be deleted via the GitLab API.
This currently doesn't appear to be in the API itself, but I have tried simple things in python-gitlab
such as
u.provider = 'my-old-provider'
u.extern_uid = ''
u.save()
u.provider = 'my-old-provider'
u.extern_uid = None
u.save()
Both commands outwardly succeed and, when I login as an admin, the user has a blank space in the respective uid field for the provider.