Стратегия Auth0 для приложения MERN, работающего одновременно через прокси - PullRequest
0 голосов
/ 05 мая 2020

Я перестраиваю базу данных и веб-сайт для новостной компании на базе Chica go в качестве внештатного разработчика. В настоящее время я использую приложение create response (CRA), а не настраиваемую среду webpack, поскольку первая поддерживает одновременное выполнение приложения через прокси (два отдельных файла package.json). Последнее, к сожалению, поддерживается только при использовании экспериментальных пакетов react и react-dom. Тем не менее, у меня есть несколько вопросов по настройке Auth0 для этого приложения. Во-первых, поскольку CRA - это SPA, могу ли я использовать тип одностраничного веб-приложения (для реакции) или традиционный тип веб-приложения (для узла), поскольку вызовы API происходят в контроллерах внутренних узлов? Я использую ax ios (или могу использовать fetch) для соединения двух файлов в файле API.jsx в утилитах на стороне клиента. Поскольку для новых пользователей есть ограничение на три фотографии, я объединил контроллеры-> маршруты-> сервер в одном образе следующим образом:

контроллер-маршруты-сервер

Контроллеры взаимодействуют со схемами (моделями) mon goose; контроллеры передаются маршрутам, которые затем проходят через сервер. Поскольку приложение работает одновременно, сервер ApiPORT=3030, тогда как AppPORT=3000 (ПОРТ CRA по умолчанию)

на стороне клиента и на стороне сервера связаны через прокси на стороне клиента package.json

{
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "proxy": "https://localhost:3030",
  "engines": {
    "npm": "6.14.4",
    "node": "12.16.2"
  },
  "dependencies": {
    "@auth0/auth0-spa-js": "^1.8.0",...

В настоящее время у меня есть следующий код конфигурации Auth0 в client / sr c (root приложения response) ReactAuth0 Auth0configuration-client / sr c

Как вы могли заметить на сервере, у меня есть кластер MongoDB Atlas, который я хотел бы использовать для хранения информации о пользователях. Мне было интересно, как именно в этом отношении выполняется поток данных? Я использовал собственный метод JWT в другом приложении MERN, который был встроен в файлы cookie, сгенерированные сервером, через cook ie -parser npm. У него было четыре отдельных флага, явно установленных для безопасности. Я хочу использовать Auth0 для этого бизнеса, потому что это самый надежный метод, обеспечивающий душевное спокойствие. Мне также интересно, следует ли мне использовать поставщика контекста Auth0, если уже используется хранилище response-redux, и если да, то будет ли это правильный подход для включения поставщика Auth0 в root? root index-client / sr c

Остается один вопрос, касающийся использования файлов auth0_config.json, которые являются .gitignored; почему бы не использовать подход .env с использованием dotenv npm (как я делаю на стороне сервера в узле)? Только что заметил, что в большинстве примеров SPA вместо этого используется файл json, и я задавался вопросом, почему? , критика, рекомендации и т.д…

Спасибо!

-Эндрю

...