Мы хотим создать центральный орган для аутентификации и авторизации для различных приложений (.net). Мы видим, что IdentityServer4 является открытым исходным кодом и бесплатным, в то время как Auth0 стоит денег. Кто-нибудь использует оба эти? Может ли кто-нибудь предложить предложение, которое выбрать и почему?
IdentityServer4 vs Auth0
Ответ 1
IdentityServer - это библиотека, которая реализует различные протоколы аутентификации (не авторизации!) И позволяет объединить контроль доступа в единую систему. Вы можете разместить его в типичном веб-приложении ASP.NET, консольном приложении или чем-то еще, если доступны конечные точки HTTP. Он также позволяет хранить пользовательские данные в любом месте, будь то в памяти, базах данных, плоских файлах, системе членства в ядре asp.net или где-либо еще.
Auth0 - это компания, которая предоставляет управляемый сервис, который выполняет аутентификацию для вас. Они управляют инфраструктурой и предоставляют доступ через свой веб-сайт и API. Это похоже на то, что кто-то запускает IdentityServer4 для вас, и есть несколько конкурентов, таких как Okta для разработчиков, AWS Cognito, Azure AD B2C, Google Cloud Identity/Firebase и другие.
Выберите IdentityServer, если:
- Вы хотите бесплатное программное обеспечение с открытым исходным кодом.
- У вас есть время и усилия, чтобы запустить его самостоятельно.
- Вы хотите сами управлять всеми данными из-за правил, конфиденциальности и т.д.
- Вам требуется полный контроль и гибкость в отношении того, что происходит во время аутентификации (например, объединение учетных записей пользователей в вашей базе данных, когда кто-то входит в систему). Это всего лишь код С#, так что вы можете делать все, что захотите.
Выберите Auth0, если:
- Вы хотите сэкономить время и силы на внедрение и эксплуатацию.
- Цена не является проблемой (поскольку это может дорого обойтись для некоторых функций).
- Настройки, предлагаемые Auth0, достаточны для вашего варианта использования.
- Вам нужны другие функции, которые они предлагают, такие как мониторинг нарушения пароля.
- Вы не хотите управлять пользовательскими данными или не против их хранения.
Ответ 2
Identity Server означает создание серверного приложения для обработки аутентификации и авторизации, которое может реплицировать то, что Auth0 делает для OpenIdConnect (OIDC), будет реализовано несколько вещей, даже если вы используете IdentityServer4. Сначала вам нужно создать его, а затем интегрировать ваше приложение.
Auth0 позволяет сразу интегрироваться с OIDC с дополнительными и корпоративными функциями.
Ответ 3
Оба из них реализуют федеративные протоколы, то есть WS-Fed, SAML и OpenID Connect.
Чтобы использовать их в своих приложениях. нужен соответствующий стек клиентской стороны.
Если у них этого нет, вы не можете использовать продукты.
Единственная альтернатива - сквозной, т.е. Auth0.
Или посмотрите на ADFS, которая проходит через ADAP WAP.
Если у вас есть стеки, оба будут выполнять эту работу.
idsrv4 не имеет портала управления пользователями, например. создать пользователя, добавить группу пользователям OOTB.
Auth0 делает.
idsrv4 существенно добавляет функции по коду. Auth0 имеет конфигурацию. через мастера.
idsrv4 является открытым исходным кодом, поэтому вы можете настроить его на содержание вашего сердца. Мне очень полезно мостить системы.
Azure AD - еще один вариант.