Я ищу простую стандартную реализацию для интеграции аутентификации / авторизации между приложением 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 несколько стандартным для этого типа сценария?