OIDC is what fixes the “dog breakfast” criticism. With OIDC you (in theory) don’t have to write custom modules per provider anymore.
If you implement OIDC you must certainly provide a configurable mapping system for source claim name to your internel representation of a user object.
Or OAuth2 had a specific use case but has since been wrestled to do anything auth related