лучший способ для аутентификации потока с React / Redux? - PullRequest
0 голосов
/ 06 июля 2019

Я ищу аутентификацию.В настоящее время я обнаружил некоторые вещи, которые, кажется, работают, но я хочу оставить как можно ближе к реальным проектам.

Вот некоторые моменты, наблюдения и вещи, которые я сделал:

  • В настоящее время у меня есть компонент, где я буду отображать компонент или возвращать a в зависимости от значения isAuthenticated, хранящегося в Redux

  • Когда пользователь отправляет имя пользователя / парольЯ делаю запрос на конечную точку, которая возвращает токен доступа.Поэтому я сохраняю это в LocalStorage (state.auth.access_token).

  • Я также использую перехватчики Axios, где каждый сделанный запрос пытается получить токен и добавить его в запрос, еслитокен изменен пользователем или недействителен, конечная точка ответит кодом ошибки (доступ запрещен и т. д.). Я отправлю действие, которое выйдет из системы (очистит access_token) и перенаправит на страницу входа

  • Я использую redux-saga для действий аутентификации

  • Я думаю, что мне следует создать экземпляр Axios и добавить к ним только перехватчики, потому что могут быть другие запросы, которые не требуютаутентификация

  • Я знаю, что это хорошая идея, чтобы обновить access_token, я думаю, что я могу запустить функцию в store.subscribe, где я получаю новый токен каждые 5 минут, и обновлять access_tokenв Redux (который также будет иметь функцию обратного вызова для сохранения access_token в LocalStorage каждый раз, когда происходит действие)

  • Я также не знаю, куда поместить файлыи каталоги для аутентификации, так как в основном у него будут действия, которые будут использоваться обоими шаблонами (компонент, представляющий страницу / маршрут, такой как "/ login /" и "/ signup /") для создания учетной записи.В настоящее время я помещаю файлы (actions.js и т. Д.) В состояние / auth /

Вот пример проекта, который я сделал, чтобы увидеть, все ли получилось.Я использовал Django Rest и токен авторизации на бэкенде: https://github.com/marcosroot/redux-drf-auth-boilerplate

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...