Внедрение моего собственного idP / STS для работы с asp.net аутентификация на основе утверждений

#asp.net #asp.net-mvc #asp.net-identity #claims-based-identity

#asp.net #asp.net-mvc #asp.net-identity #идентификация на основе утверждений

Вопрос:

Я только что просмотрел следующее видео об аутентификации на основе утверждений,

Я хотел бы реализовать это в нескольких приложениях наших компаний, однако во всех примерах говорится об использовании Windows Azure Active Directory в качестве поставщика удостоверений.

Я хотел бы реализовать свой собственный idP, который все приложения запрашивают для токена.

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

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

В качестве альтернативы,

Я не знаю, может быть, существует проект с открытым исходным кодом, который реализует полный idP / STS, в котором я могу разместить mys elf и настроить все параметры, которые мне нужно сохранить о пользователе?

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

Ответ №1:

Я бы посоветовал вам попробовать Thinktecture IdentityServer v2. Это открытый исходный код, поддерживает множество протоколов, таких как Oauth2, WS-Federation, WS-Trust, и его легко настроить.

Для получения дополнительной информации о IdentityServer посмотрите на его страницу репозитория github. Вы можете найти руководства о том, как начать здесь

Также в активной разработке находится версия v3. Он был переписан с нуля с использованием Katana и Web Api и реализует OpenID connect, но он еще не готов к производству.

Комментарии:

1. Спасибо за ваш ответ, насколько часто используется этот проект? Могу ли я согласиться на это в надежде, что это будет поддерживаться в ближайшем будущем?

2. Да, он активно разрабатывается. Многие люди используют это, включая меня. Причина, по которой в наши дни не так много коммитов, заключается в том, что они полностью заняты v3, но они все еще поддерживают v2, потому что это последняя версия, готовая к производству.

3. Вы бы порекомендовали мне использовать v3 или v2? Внедряю сейчас для одного или двух внутренних приложений, ничего серьезного. Я всегда был поклонником более поздних технологий, однако учебные пособия и способы их использования, вероятно, немного ограничены. Могу ли я выполнить аутентификацию на основе утверждений с помощью единого входа?

4. v3 прямо сейчас находится в состоянии предварительного просмотра, что означает, что это альфа. Вы можете использовать его для тестирования и внесения вклада. Есть открытые проблемы (TODO), поэтому, если вы решите пойти с этим, рассмотрите возможность реализации некоторых из них. Так это будет сделано быстрее :). Недавно я был на семинаре, где использовался v3, и он очень хорошо работал в демонстрационных версиях. Для производства я бы определенно выбрал v2 на данный момент. Обе версии поддерживают аутентификацию на основе утверждений и единый вход.