So we have an .NEt Owin / Katana Oauth Webapi2 Bearer server which sits on top of a SQL Server Database using .Net Identity and Entity Framework . Users can use Oauth to login from 3rd party apps and such, most of which are other .net MVC apps. Life is good.
Now we find the need to support All the things. Clients want to use SAML2, OpenID, Oauth, JWT's and more to login our users. What I'm finding is all the information needed to connect to an identity provider but not how to actually BE an identity provider. We are considering a move to a more enterprise grade solution like Active Directory, OpenAM, Shibboleth etc... but before pulling the trigger on something like that I am trying to get more info.
I looked into Azure ADFS in the cloud but like other solutions, one of the main problems is that they all want users to be on the same domain and login with that domain email. However our app is like facebook or linkedin. Everyone uses different emails / domains. Users login with a username and password not a domain email.
If I setup something like ADFS dump the users in there then spin up something like thinktecture's Identity server V3 to play gatekeeper can I allow logins with username / password and now email? Will this truly act as a one stop shop for SSO? I'm really looking for some guidance to be my own identity provider and support all the major SSO vehicles without having to pay for some overpriced SSO service like Ping or Auth0.
Thoughts?