/IdentityServer3

OpenID Connect Provider and OAuth 2.0 Authorization Server Framework

Primary LanguageC#Apache License 2.0Apache-2.0

IdentityServer3

Dev build: Build status ![Gitter](https://badges.gitter.im/Join Chat.svg)

openid_certified

Certified OpenID Connect implementation.

Overview

IdentityServer is a .NET/Katana-based framework and 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.

Watch this for the big picture: Introduction to OpenID Connect, OAuth2 and IdentityServer - and An Introduction to IdentityServer for a more code-centric talk.

Go to the documentation site.

OpenID Connect specification / OAuth2 specification

Getting started

IdentityServer is designed as an OWIN/Katana component. By referencing the library or nuget you get a UseIdentityServer extension method for IAppBuilder that allows setting up IdentityServer in your OWIN host:

public void Configuration(IAppBuilder app)
{
    var options = new IdentityServerOptions
    {
        SigningCertificate = Certificate.Get(),
        Factory = Factory.Create()
    };

    app.UseIdentityServer(options);
}

Note: If you're hosting in IIS, make sure you enable RAMMFAR in your web.config file.

For more information, e.g.

  • 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
  • extensibility

check out the documentation and the samples.

Related repositories

Credits

IdentityServer is built using the following great open source projects:

..and is supported by the following open source friendly companies:

...and last but not least thanks to all contributors!

IdentityServer is a .NET Foundation project