Получить тип роли после аутентификации OAuth2 - PullRequest
2 голосов
/ 10 июля 2020

Я реализовал аутентификацию OAuth2 с устаревшим стеком безопасности Spring. После успешной аутентификации я получаю эту полезную нагрузку:

{
    "access_token": "ed090e76-444b-4dd2-8c2a-15d3e52be31d",
    "token_type": "bearer",
    "refresh_token": "4ad590f1-2139-47b8-89f1-29ed4b461b53",
    "expires_in": 30,
    "scope": "read"
}

У меня есть несколько типов ролей в приложении. Обычно в веб-приложении для рендеринга на стороне сервера я просто показываю компоненты пользовательского интерфейса в зависимости от роли пользователя и ограничиваю неавторизованный контент.

В Angular также есть способ отображать данные на основе роли пользователя . Но проблема в том, как Angular может получить тип роли пользователя из BE Spring Server?

После успешной аутентификации мне нужно получить роль пользователя из BE. Как это обычно реализуется при наличии SPA FE?

1 Ответ

2 голосов
/ 12 июля 2020

По умолчанию интеграция Oauth2 Spring использует свой собственный «тип токенов» (вы можете увидеть их в предоставленном «примере ответа»), если вы хотите работать с JWT-токенами (проще для внутреннего управления), вы должны указать, чтобы справиться с ними, разработав подходящее поведение JwtAccessTokenConverter.

По следующей ссылке вы сможете увидеть учебник с полной интеграцией с: JWT + Oauth2

С другой стороны, в следующем вы найдете полностью функциональный микросервис, используемый как сервер безопасности Oauth 2.0, интегрированный со Spring, который включает несколько других настроек:

Сервер безопасности Oauth 2

С примером реализации JwtAccessTokenConverter здесь

...