2016-12-07 10 views
4

У меня есть API-интерфейс API 2.2, который использует инфраструктуру .Net 4.5.2, которая используется приложением углового2, и существует существующая реализация IdentityServer4. Я хочу защитить свой веб-API с помощью IdentityServer4. Мой вопрос: могу ли я защитить Web API 2.2 с помощью IdentityServer4? Если да, то я два последующие вопросыЗащита веб-API 2.2 с помощью IdentityServer4

  1. Должен ли я использовать NuGet пакет IdentityServer3.AccessTokenValidation или мне придется использовать IdentityServer4.AccessTokenValidation? (Я попытался использовать пакет IdentityServer4.AccessTokenValidation, но он добавил много зависимостей, связанных с ASP.Net Core)
  2. Какова должна быть ценность URL-адреса полномочий, которую мне нужно будет использовать?

Я мог бы найти множество примеров, когда IdentityServer4 используется для защиты ASP.NET Core Web API. Однако не удалось найти хороший пример, где Web API 2.2 защищен с использованием IdentityServer4. Если возможно, укажите мне хороший пример конфигурации идентификационного сервера, который требуется на стороне веб-API.

+0

Вы используете ASP.NET 4.5? Если это так, я думаю, было бы безопаснее придерживаться IdentityServer3. IdentityServer4 является переписыванием для включения модульности ASP.NET Core (включая, но не ограничиваясь этим, Injection Dependency) – DOMZE

+0

Pankaj, вы когда-нибудь получали эту работу? Я сталкиваюсь с тем же проектом, и мне любопытно. Любые полезные советы будут очень признательны! – Helzgate

ответ

5

Чтобы ответить на ваши вопросы:

1) Ваш проект WebAPI 2,2, несомненно, с помощью Owin/Катана из ASP.NET 4.x, который означает, что вы должны использовать IdentityServer3.AccessTokenValidation. IdentityServer4.AccessTokenValidation совместим с новым конвейером ASP.NET MVC Core.

2) Вы можете получить свои полномочия, обратившись к документу об обнаружении удостоверения личности в {IdentityUrl}/.well-known/openid-configuration. Этот орган должен быть таким же, как значение «эмитента» в документе обнаружения. Вы также можете получить полномочия, посмотрев на JWT, выданную вашим провайдером удостоверений, просмотрев заявку «iss».

+0

Будет ли библиотека IdentityServer3.AccessTokenValidation способна проверять токены с IdentityServer4? –

+0

Да, оба IDS3 и IDS4 являются серверами авторизации, которые служат токенам JWT, которые соответствуют стандартам OAuth 2.0/OpenIDConnect. Поскольку любой клиент, который реализует поток OAuth, может взаимодействовать с сервером авторизации OAuth, токен jwt, выданный сервером авторизации oauth, может быть проверен с использованием стандартизованных средств. Вкратце: IDS3 и IDS4 представляют собой различные реализации одного и того же набора стандартов. – Lutando