#c# #asp.net #authentication
#c# #asp.net #аутентификация
Вопрос:
Я пытаюсь разработать концепцию поддержки нескольких методов аутентификации в ASP.NET серверная среда Core, которая должна поддерживать как клиенты Windows (WPF), так и веб-клиенты (Angular). Пользователи должны иметь возможность входить в систему с помощью трех методов:
- использование имени пользователя и пароля, которые проверяются по базе данных действительных логинов
- использование проверки подлинности Windows (т. Е. текущего пользователя, вошедшего в систему). Для этого может потребоваться, чтобы компьютер пользователя и сервер находились в одной сети / домене
- использование выбранных внешних поставщиков аутентификации, таких как Google
Пользователи должны иметь индивидуальные права (претензии), которые либо вытекают из их индивидуального профиля, либо из членства в группе (например, в случае AD).
Я все еще нахожусь на этапе разработки концепции, пытаясь разобраться в основах, поэтому код еще не написан.
Мое мышление заключается в следующем:
- пользователи, входящие в систему с использованием имени пользователя и пароля, получают какой-либо токен (JWT), который затем разрешает им доступ к защищенным / ограниченным вызовам.
- пользователи, входящие в систему с использованием своего удостоверения Windows, в основном получат один и тот же токен
- пользователи, входящие в систему через внешних поставщиков аутентификации, получат внешний токен от поставщика и будут использовать его для входа в систему, а также получат токен от сервера
- независимо от 1-3, пользователи в конечном итоге получают выпущенный сервером токен, который предоставляет им доступ к ограниченным функциям
Является ли это распространенным / правильным подходом для смешанной аутентификации? Если да, то как это будет реализовано на ASP.NET серверная часть core?
Комментарии:
1. Лучше всего использовать IdentityServer4, он имеет OpenID, а также позволит подключаться напрямую, предоставляя имя пользователя и пароль, если вы не хотите сначала перенаправлять пользователя в браузер, хотя не уверены в подлинности Windows
2. концепция, которую вы хотите исследовать, вероятно, «федеративная идентификация»