OAuthWebSecurity tightly coupled with ExtendedMembershipProvider

Topics: ASP.NET Web Pages
Feb 23, 2013 at 4:12 PM
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.