My clients use one of the following when they sign up for my application:
If I understand you correctly, all these properties in the different APIs are conceptually tuples of the same 3 thing, under different names, right?
Your description is from the DB point of view - I will describe what I would do on the domain side (which may be directly mappable to your schema).
I would create a single class, e.g. UserLogin, with the 3 properties mentioned above (e.g. authenticationCode, userId, password), and a mapping of API names/codes to GUI property names. When the user selects the preferred API, I can display fields with the appropriate names on the GUI, and fill the values to the corresponding properties of UserLogin. If needed, UserLogin can also store the preferred login API for that user. This way UserLogin is mapped to a single table on the DB side. I may use another table to configure the property names for each known API.