Recently, I wanted to integrate the external provider logins provided by the OAuthWebSecurity class with a project that didn't use a SimpleMembershipProvider. I soon found that the Microsoft.Web.WebPages.OAuth.OAuthWebSecurity.cs and Microsoft.Web.WebPages.OAuth.WebPagesOAuthDataProvider.cs
had tight dependencies on the ExtendedMembershipProvider.
I ended up taking the source and removing that coupling. Ultimately, I think it would be beneficial to do so for others wanting to take advantage of the external logins in other projects. Perhaps have a base class for OAuthWebSecurity that is provider agnostic
and then create a new one... "ExtendedMembershipOAuthWebSecurity" or something like that.
I have not written an implementation for the ExtendedMembershipProvider, and honestly have no plans to do so. However, it seems that it might be beneficial. I have a couple of questions:
1) Would MSFT object to refactoring the code in the ways that I have described?
2) What are the legalities of using the code that I have, without actually forking it? I'm reusing a lot of the MSFT code.