ADFS + ThinkTecture IdentityServer v2 для веб-API

В нашей организации наши приложения регистрируются как RP на нашем сервере ADFS организации, который является v2. Традиционно приложения в организации создавались как единые монолитные приложения с использованием WS-Federation (пассивная аутентификация). Веб-API, также размещенные в каждом приложении, защищены просто тем, что один и тот же файл cookie FedAuth отправляется по проводной связи при выполнении вызовов ajax из клиентского кода приложения в браузере.

Мы движемся к созданию набора бэкэнд-веб-API, которые мы хотим защитить, чтобы они могли вызываться любым клиентом, а не только веб-браузером и не только самим хостингом. Поэтому мы хотим перейти к использованию токенов JWT для этих веб-API. Мы также начали использовать ThinkTecture IdentityServer (v2), чтобы помочь в этом отношении.

У нас есть только несколько вопросов, которые, я надеюсь, сообщество может помочь предоставить нам некоторые ответы / указатели:

  1. Как нам настроить IdentityServer и приложения, чтобы приложения использовали существующую организационную страницу входа в ADFS?
  2. Как мы можем сконфигурировать / интегрировать ThinkTecture IdentityServer v2 с ADFS организации, чтобы наши API могли быть защищены с помощью токенов JWT, но без принуждения пользователя снова вводить свои учетные данные (как только они получат токен SAML через WS-Federation)?
  3. Существуют ли какие-либо функции в IdentityServer v3, которые достаточно привлекательны для обновления с IdentityServer v2 до v3?

1 ответ

1 и 2 - вы можете проверить, как создать проверяющие стороны. Вот целая статья от BrockAllen (гений IdentityServer), которая познакомит вас с интеграцией ADFS/IdentityServer2.

http://brockallen.com/2013/04/14/getting-json-web-tokens-jwts-from-adfs-via-thinktecture-identityservers-adfs-integration/

3 - Насколько я знаю, IdentityServer3 (IS3) был написан для поддержки более новых платформ авторизации OpenID для современного стека лучше, чем IS2 (который не поддерживает OpenID). Либо хорошо для использования. Я лично начал с IS3, в основном из-за поддержки и документации. Он также очень хорошо интегрируется с OWIN/Katana, поэтому он может достаточно хорошо размещаться самостоятельно, без сбоев во время внедрения и развертывания. Одним из преимуществ IS2 перед IS3 является то, что IS2 имеет интерфейс администратора, который вы можете использовать для настройки и регистрации сайтов, а IS3 - нет. Более подробную информацию об этом вместе с мыслительным процессом, стоящим за IS3, можно найти здесь:

http://leastprivilege.com/2015/01/25/identityserver3-1-0-0/

Другие вопросы по тегам