Для службы restful требуются имя пользователя и пароль для получения токена. Можно ли сохранить учетные данные (user и pass) в nodejs на стороне сервера? - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть приложение, которое принимает CSV-файл от пользователя, преобразует его в json и сохраняет файл json в корзину S3 на AWS.Затем я использую сервисы restful из oracle для передачи этих данных в oracle jde.

Пользователь не может загрузить файл без предварительного подтверждения - пока это ручной процесс, но сначала необходимо добавить свою электронную почту в корзину S3. Затем веб-приложение проверяет, существует ли электронная почта в S3.разрешает загрузку файла, если он не существует, тогда загрузка файла отклоняется.

У меня пока не настроена какая-либо другая «аутентификация пользователя».

Далее, вЧтобы получить токен из внешнего API, мне нужно передать ему имя пользователя и пароль учетной записи службы, в настоящее время, так как он все еще находится в разработке, я сохраняю имя пользователя и пароль на моем сервере nodejs в объекте, который я передаю в API.позвоните, чтобы получить токен.

В настоящее время мы не планируем иметь логин пользователя, так что, как говорится, как я могу защитить имя пользователя и пароль, но при этом иметь возможность получить токен для "аутентифицированных писемразрешено загружать "?

По сути, я предполагаю, что просто хранить его в переменном узле на стороне сервера не очень хорошая идея, поэтому ищу другой способ хранения данных.Нг это где-то и все еще в состоянии сделать звонок в API.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

В настоящее время мы не планируем иметь логин пользователя, поэтому, как говорится, как я могу защитить имя пользователя и пароль, но при этом иметь возможность получить токен для «аутентифицированных писем, разрешенных для загрузки»?

Вы не можете.Если я чего-то не понимаю, это не «аутентифицированные электронные письма», это «предварительно утвержденные адреса электронной почты».Вам все еще нужно аутентифицировать своих пользователей, чтобы помочь защитить приложение.

Так что я все еще хеширую и солю твердо закодированные имя пользователя и пароль и сохраняю в db?

Вы можетене солите и не хэшируйте свои пароли, потому что вы собираетесь повторно использовать оригинальный пароль.Это возлагает на вас ответственность за безопасность паролей.Не играй в эту игру.Многие люди используют одни и те же пароли для множества разных учетных записей.Хотите ли вы отправить электронное письмо своим пользователям, чтобы они знали, что у вас были нарушения безопасности, и что им необходимо сбросить все свои пароли?

0 голосов
/ 13 февраля 2019

По сути, я предполагаю, что просто хранить его в переменном узле на стороне сервера не очень хорошая идея

Это верно, это не очень хорошая идея.Например, что если ваш сервер умрет?Тогда вы потеряете это значение.Не говоря уже о дополнительной стоимости вашей оперативной памяти, поскольку все будет храниться в памяти.

Решение

  • Храните учетные данные в базе данных .Он может быть в SQL или NoSQL, а сервер может быть в любом удобном для вас виде

Замечания

  • Не забудьте хешировать пароль перед его сохранением
  • Добавьте немного соли при хешировании
  • Чтобы подтвердить пароль, просто хешируйте тот, который вы получили от своего клиента, и сравните его с хэшем, который вы сохранили в своей базе данных
  • Используйте HTTPS для трафика между вашим клиентом и сервером
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...