Смешивание IdentiyServer4 и WebAPI .net 4.5.2 - PullRequest
0 голосов
/ 25 августа 2018

Я новичок в IdentityServer. Я следовал учебнику IdentityServer4 здесь

Но в этом руководстве показано, как защитить API ядра .net. Я не могу найти учебники, использующие IdentityServer4, который также показывает, как защитить .net 4. # WebAPI. Я нашел сообщение о StackOverflow здесь , в котором предлагается использовать промежуточное программное обеспечение Microsoft Katana JWT, но я понятия не имею, как это будет реализовано, поскольку я новичок в этом.

Может ли кто-нибудь указать мне учебник (или комбинацию, если необходимо), который укажет мне правильное направление. Заранее спасибо.

UPDATE:

Я пытаюсь использовать IdentityServer3 для API и IdentityServer4 для сервера авторизации.

Я создал сервер авторизации IdentityServer4, похоже, он работает нормально.

Я создал WebAPI (используя полную среду .Net - в данном случае 4.7.1). Я следовал инструкциям по включению IdentityServer в API из документации IdentityServer3. Как и ожидалось, теперь я получаю 401 неавторизованный доступ, когда пытаюсь перейти непосредственно к контроллеру через браузер, так что это безопасно.

Я создал консольный клиент. Я настроил его так, чтобы он указывал на сервер аутентификации IdentityServer4 и теперь возвращал токен доступа.

Только теперь, когда я SetBearerToken с этим токеном доступа на клиенте, я все еще получаю 401 Unauthorized. Я использовал http и https для сервера авторизации ... Теперь я снова чешу голову!

1 Ответ

0 голосов
/ 25 августа 2018

Здесь - полный пример. Как описано в кратком руководстве, вы нашли себя, все, что вам нужно (после добавления всех необходимых пакетов), это добавить к вам файл Startup.cs:

app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
    {
        Authority = "https://identity.identityserver.io",
        RequiredScopes = new[] { "api1", "api2" }
    });

Оказалось, что при использовании с параметром ValidationMode = ValidationMode.ValidationEndpoint IdentityServerBearerTokenAuthentication из Identityserver 3 не совместим с Identityserver 4. Переключение на ValidationMode.Local решает ситуацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...