Аутентификация/авторизация Identity Server 3 с ASP.NET CORE 1.0

В настоящее время я работаю над проектом RESTful, основанным на ASP.NET Core 1.0, который подключается к Identity Server 3. Я установил глобальный фильтр [Authorize] для всех контроллеров в методе ConfigureServices в Startup.cs.

Теперь я пытаюсь проверить свой токен носителя из запроса AJAX на моем Identity Server 3 в Startup.cs проекта CORE 1.0 и, таким образом, авторизовать ресурсы моего контроллера.

Кажется, в ASP.NET CORE 1.0 так много изменений по сравнению с (классической) ASP.NET 4.5.

У вас есть идеи, как этого добиться? Как проверить мой токен в ASP.NET Core 1.0?

Огромное спасибо!

ОБНОВЛЕНИЕ

В Asp.net 4.5 я смог использовать app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions(){...}), но этого не существует в ASP.NET Core 1.0.

Вместо этого я пытаюсь использовать следующее:

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);

К сожалению, все, что я получаю, это HTTP 302...


person cohagen    schedule 25.08.2016    source источник


Ответы (2)


Для решения этой проблемы можно использовать IdentityServer4.AccessTokenValidation :)

app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions()
            {
                ScopeName = Configuration["IdentityServerSettings:ApiScopes"],
                Authority = Configuration["IdentityServerSettings:CoreUrl"]
            });
person cohagen    schedule 29.08.2016

Я думаю, что вы просите, чтобы вы хотели использовать промежуточное программное обеспечение для аутентификации токенов-носителей.

Пакет, который вы ищете,"Microsoft.AspNetCore.Authentication.JwtBearer": "1.0.0"

person Lutando    schedule 26.08.2016
comment
Спасибо, Лутандо, хотя я не уверен, сможет ли JwtBearer Middleware решить мою проблему с Identiy Server 3... хм. - person cohagen; 29.08.2016