How does the "ASP.Net Identity" compare with "Windows Identity Foundation"?

asp.net, wif

Solution

Thanks nzpcmad for helping me ask the right questions.

After more research, if I understand this all correctly, the biggest advantage of using the new ASP.Net Identity is that it is built on top of the OWIN model.

Microsoft is working on an OWIN-based WS-Federation component called Microsoft.Owin.Security.WsFederation. It is still in beta, but I think it is actually built on WIF, since the WIF classes were all moved into the core framework as of .Net 4.5. More information can be found here: http://www.cloudidentity.com/blog/2014/02/20/ws-federation-in-microsoft-owin-componentsa-quick-start/ and here http://blogs.msdn.com/b/webdev/archive/2014/02/21/using-claims-in-your-web-app-is-easier-with-the-new-owin-security-components.aspx.

So I don't think the question is: ASP.Net Identity versus WIF. I think the question is: OWIN versus non-OWIN.

So I think to answer my question: the more future-proof and flexible choice is to use OWIN security components, and through simple configuration or other means, allow switching between the OWIN ASP.Net Identity component and the OWIN WS-Federation component.

Problem

I found this nice article that shows the evolution of the ASP.Net identity frameworks: http://www.asp.net/identity/overview/getting-started/introduction-to-aspnet-identity However, I'm interested in how the Windows Identity Framework (WIF) fits into the picture with the new ASP.Net Identity Framework. Are they yet another set of competing Microsoft implementations? Furthermore, if a developer is interested in supporting SAML authentication (which WIF supports), Active Directory authentication, and Forms Authentication, which would you choose?

Original source