стратегия интеграции API-интерфейса в приложении реагирования, которое использует express API? - PullRequest
0 голосов
/ 22 марта 2020

Я ищу простую стандартную реализацию для интеграции аутентификации / авторизации между приложением React и поддерживающим его Express API.

Допустим, в компоненте React Login пользователь отправляет идентификатор пользователя и пароль учетные данные через конечную точку API / authenticate. Если учетные данные действительны, то конечная точка возвращает объект пользователя с подробностями пользователя.

Но в приложении React, использующем API, сценарий немного другой. Например, допустим, что после входа пользователя в приложение необходимо загрузить панель мониторинга для идентификатора этого пользователя. Таким образом, поддерживающий вызов API может выглядеть примерно так / dashboard / {userId}, чтобы получить все данные панели пользователя для пользователя. Но необходимо выполнить следующие условия:

1 - пользователь, не прошедший проверку подлинности, не должен иметь доступа к / dashboard / user API. Ie, конечная точка API должна обеспечивать проверку подлинности пользователя определенного типа. 2 - Пользователь не должен иметь доступ к конечной точке / dashboard / {userId} для другого пользователя. 3 - Предположим, что существует API администратора пользователя, к которому только пользователи с ролью администратора должны иметь доступ

* 1008. * Так что было бы хорошей простой стандартной реализацией безопасности для обработки этих сценариев ios? Случайные дополнительные мысли. Не стесняйтесь исправлять, уточнять или улучшать:
  • Пользовательский вызов API / аутентификации должен возвращать некоторый тип токена пользователя, который включает: UserId, UserName, Roles []. Роли [] необходимы приложению React для обеспечения безопасности роли маршрута
  • Пользователь не должен иметь возможности легко изменять свои роли [] в токене пользователя. Ie пользователь не должен иметь возможность ввести sh ('Admin') в свой токен пользователя.
  • Приложение должно иметь возможность передавать токен аутентификации в последующие вызовы конечной точки API, чтобы утверждать, что вызывающий абонент имеет соответствующие права для вызова этих конечных точек
  • Считается ли использование токена JWT несколько стандартным для этого типа сценария?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...