Я хотел бы создать приложение с reactjs во внешнем интерфейсе, веб-API .NET Core на бэкэнде, некоторой базой данных и аутентификацией на основе токенов. Я хочу, чтобы пользователи могли регистрироваться, входить в систему, выходить из системы и восстанавливать пароль.
Не могу поверить, что мне нужно все это строить с нуля. Должен быть набор строительных блоков, которые мне просто нужно собрать. Здесь?





Azure Active Directory B2C кажется правильным ответом на безопасность пользовательских потоков.
React-Adal включает AAD B2C с помощью react.js
Автоматически созданные контроллеры .NET включает очень тонкий прозрачный бэкэнд, позволяющий иметь всю бизнес-логику в react.js. Единственная бизнес-логика, которую я вручную создал в .NET, - это авторизация. Он проверяет, имеет ли пользователь право читать / писать данные, которые он / она читает / записывает.
Я тоже боролся с этим. Если вы все еще ищете, у меня есть шаблон, который я создаю для проверки подлинности / авторизации с помощью React + .NetCore:
https://github.com/moh704/AuthenticationExample
У меня есть вход и авторизация, так как это самая сложная часть для меня. Я скоро добавлю функции регистрации / выхода. Я также добавлю сценарии базы данных sql server для отслеживания регистрации пользователей и хранения паролей.
Я обязательно попробую B2C, когда размещу свое следующее приложение на лазурном сервере. В интервью меня несколько раз спрашивали на эту тему, поэтому я пошел дальше и создал пример. Мое решение в первую очередь сосредоточено на стороне React, и я оставил проверку ядра .net на усмотрение тех, кто когда-либо воспользуется проектом. После того, как пользователь войдет в систему (используйте azure b2c), нам все равно потребуется защитить маршруты reactjs, чтобы гарантировать, что токен пользователя не истек. В противном случае, не имея HOC, защищающего маршрутизацию, пользователь может просто изменить URL-адрес и перейти к нему. на сайте, который мы размещаем.
почему у вас не работает Azure Active Directory B2C? Это бесплатно и прекрасно работает.