Мы начали поставлять IdentityServer4 в .NET 3.0 как часть нашего шаблона для поддержки выдачи JWT токенов для SPA и Blazor приложений. Через некоторое время после того, как мы выпустили продукт, команда IdentityServer сделала объявление об изменении лицензии для будущих версий IdentityServer на взаимную публичную лицензию (RPL) — лицензию, в которой код по-прежнему является открытым, но если он используется в коммерческих целях, необходимо покупать платную лицензию. Такой подход распространен в мире опенсорсного кода, где получать стабильный доход может быть достаточно трудно, поскольку ваш проект становится вашей работой на полную ставку.
Двумя вескими причинами, по которым мы решили поставлять IdentityServer, было четко выраженное желание сообщества не конкурировать с уже существующим опенсорсным проектом и глубокое понимание IdentityServer области идентификации. Команда .NET не является экспертом по OAuth и OIDC, поскольку мы сосредоточены на предоставлении строительных блоков для вашего приложения и отправной точке, с которой вы можете добиться успеха. Создание и поддержка сервера аутентификации - это постоянная задача, и у Microsoft уже есть команда и продукт в этой области, Azure Active Directory, который позволяет бесплатно использовать 500 000 объектов. Команда ASP.NET считает, что управляемое облачное решение остается лучшим практическим решением для разработчиков — безопасность управляется, учетные данные не хранятся локально, что сопряжено с риском, а новые фичи, такие как аутентификация без пароля, бесшовно вплетаются в ваш рабочий процесс аутентификации. Однако мы также понимаем, что облачное решение может быть невозможно для некоторых клиентов из-за проблем с нормативными требованиями или суверенитетом данных.