Actualmente estoy trabajando en un proyecto RESTful construido sobre ASP.NET Core 1.0 que se conecta a un servidor de identidad 3. Establecí un filtro [Autorizar] global para todos los controladores en el método ConfigureServices en Startup.cs.

Ahora trato de validar mi Bearer Token de una Solicitud AJAX contra mi Identity Server 3 en el Startup.cs del proyecto CORE 1.0 y, por lo tanto, Autorizo ​​los recursos de mi controlador.

Parece que ha cambiado mucho en ASP.NET CORE 1.0 en comparación con ASP.NET 4.5 (clásico).

¿Tiene algunas ideas de cómo lograrlo? ¿Cómo validar mi token en ASP.NET Core 1.0?

¡Muchas gracias!

ACTUALIZACIÓN

En Asp.net 4.5 pude usar app.UseIdentityServerBearerTokenAuthentication (new IdentityServerBearerTokenAuthenticationOptions () {...}) pero esto no existe en ASP.NET Core 1.0.

En su lugar, trato de usar lo siguiente:

var connectOptions = new OpenIdConnectOptions
            {      
                Authority = Configuration["IdentityServerSettings:CoreUrl"],
                ClientId = Configuration["IdentityServerSettings:ClientId"],
                ClientSecret = Configuration["IdentityServerSettings:ClientSecret"],
                PostLogoutRedirectUri = Configuration["IdentityServerSettings:PostLogoutRedirectUri"],
                ResponseType = OpenIdConnectResponseType.Code
            };
            app.UseOpenIdConnectAuthentication(connectOptions);

Desafortunadamente, todo lo que obtengo es un HTTP 302 ...

0
cohagen 25 ago. 2016 a las 21:57

2 respuestas

La mejor respuesta

Es posible usar IdentityServer4.AccessTokenValidation para resolver este problema :)

app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions()
            {
                ScopeName = Configuration["IdentityServerSettings:ApiScopes"],
                Authority = Configuration["IdentityServerSettings:CoreUrl"]
            });
0
cohagen 29 ago. 2016 a las 21:08

Creo que lo que está pidiendo es utilizar un middleware de autenticación de token de portador.

El paquete que está buscando es "Microsoft.AspNetCore.Authentication.JwtBearer": "1.0.0"

0
Bhargav Rao 13 mar. 2019 a las 19:17