Nuestros mejores investigadores agotaron sus provisiones de café, por su búsqueda todo el tiempo por la respuesta, hasta que Abram encontró la contestación en Beanstalk y en este momento la comparte con nosotros.
Solución:
EDITAR (28/01/2021): AspNet.Security.OpenIdConnect.Server se fusionó con OpenIddict como parte de la actualización 3.0. Para comenzar con OpenIddict, visite documentation.openiddict.com.
No pierdas tu tiempo buscando un OAuthAuthorizationServerMiddleware
alternativa en ASP.NET Core, el equipo de ASP.NET simplemente decidió no portarlo: https://github.com/aspnet/Security/issues/83
Sugiero echar un vistazo a AspNet.Security.OpenIdConnect.Serveruna bifurcación avanzada del middleware del servidor de autorización OAuth2 que viene con Katana 3: hay una versión de OWIN/Katana 3 y una versión de ASP.NET Core que es compatible con .NET Framework completo y .NET Core.
https://github.com/aspnet-contrib/AspNet.Security.OpenIdConnect.Server
ASP.NET Core 1.x:
app.UseOpenIdConnectServer(options =>
options.AllowInsecureHttp = true;
options.TokenEndpointPath = new PathString("/token");
options.AccessTokenLifetime = TimeSpan.FromDays(1);
options.TokenEndpointPath = "/token";
options.Provider = new SimpleAuthorizationServerProvider();
);
ASP.NET Core 2.x:
services.AddAuthentication().AddOpenIdConnectServer(options =>
options.AllowInsecureHttp = true;
options.TokenEndpointPath = new PathString("/token");
options.AccessTokenLifetime = TimeSpan.FromDays(1);
options.TokenEndpointPath = "/token";
options.Provider = new SimpleAuthorizationServerProvider();
);
Para obtener más información sobre este proyecto, recomiendo leer http://kevinchalet.com/2016/07/13/creating-your-own-openid-connect-server-with-asos-introduction/.
¡Buena suerte!
Para cualquiera que todavía esté buscando el servidor de autorización de OAuth original en ASP.NET 5, he transferido el código y la muestra original aquí: https://github.com/XacronDevelopment/oauth-aspnet
El puerto incluye compatibilidad con versiones anteriores para permitir que los servidores de recursos ASP.NET 4.x lean los tokens de acceso creados por el servidor de autorización.
Los paquetes nuget están aquí: https://www.nuget.org/packages/OAuth.AspNet.AuthServer https://www.nuget.org/packages/OAuth.AspNet.Tokens https://www.nuget.org/ paquetes/OAuth.Owin.Tokens