Q:

Does ASP.Net MVC6 support OAuth 2 bearer tokens?

I am developing an application using ASP.Net MVC6 and I would like to implement OAuth 2 auth using bearer tokens.  I can't find any solid information on whether or not this is possible.  Would anyone be able to point me in the right direction?

A:

TL;DR: the official packages developed by Microsoft for ASP.NET Core only support OAuth2 bearer token validation.
This means that...

... you'll be able to authenticate your users using bearer tokens issued by an external identity provider (like Azure Active Directory) with the Microsoft.AspNetCore.Authentication.JwtBearer package:
app.UseJwtBearerAuthentication(new JwtBearerOptions
{
    AutomaticAuthentication = true,
    Audience = "http://localhost:50000/",

    // Authority is only useful if your JWT tokens
    // are issued by an OpenID Connect server.
    Authority = "[OpenID Connect provider address]",

    // If you don't use an OpenID Connect server, you have to manually update the
    // token validation parameters with the issuer's signing key.
    TokenValidationParameters = new TokenValidationParameters
    {
        IssuerSigningKey = new X509SecurityKey(certificate)
    }
});

That said, only JWT tokens are now supported OTB: the OAuth2 bearer middleware shipped with Katana 3 used to natively support opaque tokens produced by the OAuth2 authorization server, but this support has been removed.

... you won't be able produce your own tokens anymore. The OAuth2 authorization server has been removed and won't be ported to ASP.NET Core: OAuth Authorization Service in ASP.NET Core.

Luckily, alternatives exist. I'm personally developing an OpenID Connect server middleware based on the OAuth2 server shipped with Katana, that offers the same low-level experience: https://github.com/aspnet-contrib/AspNet.Security.OpenIdConnect.Server
For more information, you can take a look at this SO answer: Configure the authorization server endpoint

