Current status: Beta 3
![Gitter](https://badges.gitter.im/Join Chat.svg)
IdentityServer is a framework and a hostable component that allows implementing single sign-on and access control for modern web applications and APIs using protocols like OpenID Connect and OAuth2. It supports a wide range of clients like mobile, web, SPAs and desktop applications and is extensible to allow integration in new and existing architectures.
OpenID Connect specification / OAuth2 specification
Also check out my Introduction to OpenID Connect, OAuth2 and IdentityServer talk from NDC London.
We currently don't provide a setup tool or a UI, but IdentityServer is remarkably easy to setup. Start with downloading/cloning the repo. Open the solution in Visual Studio and start it. Use the various clients in the samples repository to exercise the various flows. Also check the wiki for more information.
IdSrv3 is designed as an OWIN/Katana component. The following configuration (in the host project) gives you a minimal implementation with in-memory repositories and user authentication.
public void Configuration(IAppBuilder appBuilder)
{
var factory = InMemoryFactory.Create(
users: Users.Get(),
clients: Clients.Get(),
scopes: Scopes.Get());
var options = new IdentityServerOptions
{
IssuerUri = "https://idsrv3.com",
SiteName = "Thinktecture IdentityServer v3"
SigningCertificate = Certificate.Get(),
Factory = factory,
};
appBuilder.UseIdentityServer(options);
}
You can find a test signing certificate and setup instructions in the certificates folder in the samples repository.
The host samples shows other configuration options, including
- support for MembershipReboot and ASP.NET Identity based user stores
- support for additional Katana authentication middleware (e.g. Google, Twitter, Facebook etc)
- support for EntityFramework based persistence of configuration
- support for WS-Federation
- Access Token Validation
- EntityFramework support
- MembershipReboot support
- ASP.Net Identity support
- WS-Federation plugin
- Samples
IdentityServer is built using the following great open source projects:
thanks to all contributors!