У меня есть бэкэнд Spring REST и интерфейс Angular.
Аутентификация выполняется с помощью POST-запроса к URL-адресу «/login» с именем пользователя и паролем внутри тела запроса JSON (я использую аутентификацию на основе формы). Серверная часть REST отвечает кодом OK. Все в порядке, и я могу выполнять другие запросы из внешнего интерфейса, требующие аутентификации.
Но веб-интерфейс должен знать, какова роль аутентифицированного пользователя, чтобы он мог отображать для него правильное представление/запись. А где взять эту роль на фронтенде? Единственный ответ, который мы получили от проверки подлинности, был в порядке, и это нормально для REST.
Мы можем получить информацию о пользователе, выполнив запрос GET к «/users/[user_id]». Но у нас нет идентификатора пользователя, только имя пользователя.
Итак, вопрос: какой правильный способ для REST получить роль (или другую информацию о пользователе) из внешнего интерфейса, имеющего только имя пользователя?
В качестве обходного пути я могу создать новый запрос на серверной части, который принимает имя пользователя вместо идентификатора, или я могу добавить идентификатор пользователя в ответ аутентификации. Но я не совсем уверен, что это правильный путь с точки зрения REST.