Как я могу аутентифицировать мой API (приложение узла), когда к нему обращается мой пользовательский интерфейс? - PullRequest
0 голосов
/ 12 апреля 2020

Я рассмотрел различные подходы к этому, но мне еще предстоит найти тот, который идеально подходит для моей установки.

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

На мой взгляд, я могу создать какой-нибудь пароль / apikey и сохранить его как переменную среды, которая отправляется из пользовательского интерфейса в API при каждом запросе. В API этот apikey / пароль проверяется перед тем, как разрешить доступ к api.

Это звучит разумно? Вы бы предложили что-нибудь еще? Я что-то пропустил? Все мысли приветствуются.

1 Ответ

1 голос
/ 12 апреля 2020

Решение звучит хорошо для меня. Вы можете сделать что-то вроде этого:

  • back-end : создать новую конечную точку REST (что-то вроде /api/get-token) в вашем приложении Node.JS, которое генерирует токен (или ID), сохраняет его локально (возможно, в СУБД) и возвращает в качестве ответа. Затем в каждой конечной точке, которую вам нужно защитить, вы извлекаете токен из запроса и, прежде чем отправлять какие-либо «личные» данные, проверяете, является ли предоставленный токен действительным или нет.
  • front- end : как только ваше приложение загружено, вы отправляете запрос во вновь созданную конечную точку REST и сохраняете данный токен локально (localStorage должно быть в порядке). Затем каждый раз, когда пользовательскому интерфейсу требуется доступ к «частным» данным, вы просто указываете требование в запросе.

Реализация должна быть довольно простой.

...