React SPA + REST-API, аутентификация Auth0, защищенный API и конечные точки пользователя - PullRequest
0 голосов
/ 13 октября 2019

Моя цель - создать REACT SPA, где пользователи смогут искать товары, складывать их в корзину и покупать. Это должен быть очень легкий интернет-магазин. Так что, с одной стороны, есть пользователи, прошедшие проверку подлинности, а с другой стороны, пользователи, не прошедшие проверку.

Я разработал REST-API с ASP.NET Core. Это в настоящее время защищено с Auth0. Пока что все отлично работает для аутентифицированных пользователей.

Но сейчас я борюсь с неавторизованными пользователями.

Я не хочу, чтобы любое неаутентифицированное стороннее программное обеспечение могло получить доступ к webapi. Поэтому каждый контроллер защищен с помощью [Авторизовать]. Я знаю, что могу установить для определенных конечных компонентов значение [AllowAnonymous], но тогда любой другой клиент может использовать API.

В настоящее время я использую поток аутентификации со страницы образца auth0. Это прекрасно работает с обеих сторон (фронтэн и бэкэнд), но, как я упоминал выше, только для аутентифицированных пользователей.

Мой подход:

Мой подход к обработке аутентифицированных пользователей (зарегистрированные пользователи с usertoken) и неаутентифицированные пользователи (api tokens) должны иметь 1 упаковку аутентификации и хранить как минимум 1 токен в локальном хранилище. Если пользователь входит в другой токен (токен пользователя), он хранится в локальном хранилище. Для каждого запроса к API приложение проверяет, есть ли токен пользователя или нет, и отправляет токен api или токен пользователя на серверную часть. В этом случае каждый запрос будет одобрен. Мне нужно только управлять обновлением и логином.

...