I'm developing a Multi-tenant solution and I want to use the latest ASP.NET Identity framework specifically the Entity Framework implementation.
Basically I need to allow two users to have the same username, though it must be unique within a tenant, I'd also like to make use of external sign-ins such as Twitter, Microsoft, Facebook and Google.
From what I can tell, the framework was not designed with multi-tenancy in mind, though it does seem to allow extensibility. I'd prefer to make use of as much existing components as possible, though at the moment I think I'm going to have to abandon the Entity Framework implementation, and code it all myself.
Has anyone else tried this and how much have they had to code themselves.
I've now got a working solution that I've shared in a GitHub repository:
https://github.com/JSkimming/AspNet.Identity.EntityFramework.Multitenant
The extensibility required to support multi-tenancy is not possible with the 1.0.0 release of Microsoft.AspNet.Identity.EntityFramework (at least not without a lot of custom work), but is available in the 1.1 alpha release currently available through the Nightly ASP.NET Web Stack NuGet Packages.
I've decided to release what I've produced as a NuGet package AspNet.Identity.EntityFramework.Multitenant, as stated it currently requires the Nightly ASP.NET Web Stack NuGet Packages.
I've provided two simple sites that make use the package to allow for multi-tenancy:
I plan to update the solution as the 1.1 version of ASP.NET Identity is released.
I hope others find some use in the nuget package I've released, any feedback is more than welcome and please raise any issues you find.
The solution has now been updated to use the 2.0 release of Microsoft.AspNet.Identity.EntityFramework.