да, Oauth2 - верный путь для этого
Вы должны внедрить сервер авторизации, который предоставит вам токен доступа, и вы зарегистрируете клиента, пользователя и области на этом сервере авторизации, ваши микросервисы будут работать как серверы ресурсов, конечные точки, которые вы хотите предоставить определенным пользователям с помощью некоторые привилегии будут аннотированы с помощью @preauthorize (hasScope ('readThis') && hasAuthority ('admin')), аналогично вы можете ограничить другие конечные точки, сервер ресурсов будет аутентифицировать токен с сервером аутентификации, поэтому вам придется поддерживать либо хранилище inMemoryTokern, либо токен jdbc магазин,
в случае, если вы хотите получить некоторую информацию в вашем токене доступа, скажем, организации и т. Д., Внедрить также jwt, таким образом вы также сохраните дополнительный вызов с сервера ресурсов на сервер аутентификации для проверки токенов, и вам не нужно будет хранить токен в магазин памяти или jdbc