Some OAuth2 providers don't provide email thus user have to fill the form to login. After filling out the signup form, a new user will be created and connected with this provider.
But that situation hurts when a user have been registered, it can't connect with this OAuth2 provider.
In particular, a customer comes to me for building a integration with an external service for Discourse. Therefore, I am willing to have a way to let user connect with a Oauth2 provider in the user settings as well as an endpoint.
In the user setting, a pile of login method buttons will be shown after the email section. Existing association can have different style or status information.
But even admin panel can only show official oauth providers information (whether user registered with google, facebook, twitter, yahoo, github). So a little extension to inject for plugin authors is also needed.
This should be disabled by default.