Управление идентификацией и единый вход для ASP.NET MVC

В настоящее время я оцениваю возможные решения для управления идентификацией (IdM), которые обеспечивают единое хранилище удостоверений пользователя и единый вход для приложений.

Я склоняюсь к Thinktecture IdentityServer v2, но я не могу подтвердить, что он соответствует всем следующим требованиям.

Я также знаком с проектом MembershipReboot и использовал его в качестве замены поставщика членства ASP.NET. Мне нравится, что MR обеспечивает множество требований к самообслуживанию и pwd mgmt, которые мне нужны, но я не совсем понимаю, как это будет «вписываться» в IdentityServer — и под этим я не подразумеваю фактическую реализацию. интерфейсов I*Repository, а скорее из архитектуры высокого уровня.

Может ли кто-нибудь сказать мне, что из следующего возможно (или невозможно) с ним, и, возможно, предоставить другие варианты, которые могут лучше удовлетворить эти требования?

  • Поддержка ASP.NET (WebForms и MVC)
  • Поддерживать центральное хранилище удостоверений пользователей
  • Самостоятельное управление паролями
  • Конфигурация политики паролей
  • Возможность аутентифицировать как пользователей AD, так и пользователя в хранилище SQL (централизованном) хранилище (формы) — это означает, что мы хотим иметь некоторых внутренних пользователей (AD) и некоторых пользовательских (forms/sql) пользователей в одном приложении.
  • Настройка страниц (например, вход в систему, самообслуживание и т. д.)
  • Управление ролями/заявлениями для каждого приложения (я знаю, что это авторизация, а не аутентификация, но мне нужно понять, как управлять заявками, специфичными для приложения, связанными с центральными удостоверениями пользователей)
  • Управление разрешениями (не уверен, должно ли это быть в приложении или централизовано)
  • SSO в разных доменах
  • Поддержка стандартов токенов, таких как SAML 2.0, JWT, WsFed.
  • Открытый исходный код или низкая стоимость
  • Расширяемый (более низкий приоритет)

Любые предложения/рекомендации или комментарии, основанные на вышеуказанных требованиях?


person Thiago Silva    schedule 02.04.2014    source источник
comment
Насколько я понимаю, Thinktecture собирается выпустить новую версию Identity Server v3, которая больше соответствует перезагрузке членства.   -  person Erik Funkenbusch    schedule 02.04.2014
comment
озвучены ли сроки?   -  person Thiago Silva    schedule 02.04.2014
comment
Нет, Брок только что сказал скоро   -  person Erik Funkenbusch    schedule 02.04.2014
comment
Я не уверен насчет jwt. Другие требования, по-видимому, удовлетворяются сервером thinktecture.   -  person Wiktor Zychla    schedule 02.04.2014
comment
@WiktorZychla Похоже, он использует несколько токенов, включая JWT. Если у вас есть какие-либо дополнительные сведения, в частности, касающиеся ролей/авторизации и требований к настройке, это было бы полезно.   -  person Thiago Silva    schedule 02.04.2014
comment
Я не уверен, что вы можете предъявлять разные претензии к разным приложениям. Страница входа может быть настроена.   -  person Wiktor Zychla    schedule 02.04.2014
comment
Думали ли вы написать свой собственный STS?   -  person Wiktor Zychla    schedule 05.04.2014
comment
@WiktorZychla Да ... я не собираюсь тратить циклы на создание STS ... это просто изобретение велосипеда. Я не занимаюсь программным обеспечением для обеспечения безопасности, мне просто нужно внедрить STS в качестве решения IdM для большого проекта, чтобы поддерживать требования SSO.   -  person Thiago Silva    schedule 08.04.2014


Ответы (1)


Если вы используете IdentityServer, вы выполняете единый вход. Это означает, что ваше приложение может быть любой технологией, если у вас есть библиотека, которая может работать с любым протоколом, который поддерживает ваш IdP. IdentityServer v2 поддерживает WS-Fed в первую очередь для браузерных приложений. IdentityServer v3 сначала будет ориентирован на OIDC (OpenID Connect), но в конечном итоге также будет поддерживать WS-Fed.

MembershipReboot — это библиотека управления идентификацией. Это означает, что он хранит такие вещи, как пароли и другие идентификационные данные для ваших пользователей. Он может использоваться как IdentityServer v2, так и v3.

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

IdentityServer v3 будет очень альфа-версией.

person Brock Allen    schedule 04.04.2014
comment
Благодарность! Итак, чтобы уточнить, буду ли я реализовывать MR в приложении IdSrv или в своем собственном приложении MVC? Какие требования, по вашему мнению, потребуют пользовательского кодирования? Я просто немного не понимаю, как они работают вместе - person Thiago Silva; 06.04.2014
comment
Если вы хотите, чтобы ваше приложение управляло данными идентификации пользователя, вы должны использовать MR в своем приложении, но вы не будете разрабатывать для SSO. Если вам нужен SSO, вы хотите централизовать эту часть (которой является IdSrv), и затем она может использовать MR для управления этими удостоверениями. - person Brock Allen; 08.04.2014
comment
Еще раз спасибо, Брок. Часто ли люди, использующие IdSrv, модифицируют его кодовую базу, чтобы настроить его для брендинга, а также добавляют экраны самообслуживания, такие как сброс pwd, индивидуальное управление пользователями и т. д.? Я настроил IdSrv с MR на тестовой виртуальной машине, и это работает, но веб-сайт не предоставляет большинство функций MR, которые я хотел бы использовать. Я получаю внутреннюю замену интерфейсов репозитория, но это только верхушка айсберга того, как я хотел бы интегрировать эти два проекта. - person Thiago Silva; 08.04.2014
comment
Таким образом, если приложение RP, которое является SaaS, требует предоставления определенного уровня управления пользователями каждому арендатору (администратору арендатора), это будут новые экраны, добавленные в STS (IdSrv), или новые экраны в RP и использование какой-то API, чтобы вытащить список пользователей, добавить пользователей и т. д.? - person Thiago Silva; 14.04.2014
comment
@BrockAllen, не могли бы вы помочь мне, поделившись своими мыслями по этому вопросу SSO с использованием Identity Server с SAML 2 и другими поставщиками удостоверений - person Hussein Salman; 24.10.2016