Я пытаюсь понять, как использовать объект OAuth2RestTemplate для использования моей защищенной REST-службы OAuth2 (которая работает под другим проектом и позволяет предполагать также на другом сервере и т.д.)
f.e. мой сервис отдыха:
http://localhost:8082/app/helloworld
- > Доступ к этому URL-адресу создает ошибку, поскольку я не аутентифицирован
Чтобы запросить токен, я перейду к:
http://localhost:8082/app/oauth/token?grant_type=password&client_id=restapp&client_secret=restapp&username=**USERNAME**&password=**PASSWORD**
После получения токена я могу подключиться к REST API, используя следующий URL (вставленный примерный токен)
http://localhost:8082/app/helloworld/?access_token=**4855f557-c6ee-43b7-8617-c24591965206**
Теперь мой вопрос: каким образом я могу реализовать второе приложение, которое может использовать этот защищенный REST API OAuth2? Я действительно не нашел рабочих примеров, где вы указываете имя пользователя и пароль (например, исходящие из формы входа), а затем генерируется токен, который может быть повторно использован для получения данных из REST API.
В настоящее время я попробовал что-то со следующими объектами:
BaseOAuth2ProtectedResourceDetails baseOAuth2ProtectedResourceDetails = new BaseOAuth2ProtectedResourceDetails();
baseOAuth2ProtectedResourceDetails.setClientId("restapp");
baseOAuth2ProtectedResourceDetails.setClientSecret("restapp");
baseOAuth2ProtectedResourceDetails.setGrantType("password");
// how to set user name and password ???
DefaultAccessTokenRequest accessTokenRequest = new DefaultAccessTokenRequest();
OAuth2ClientContext oAuth2ClientContext = new DefaultOAuth2ClientContext(accessTokenRequest());
OAuth2RestTemplate restTemplate = new OAuth2RestTemplate(baseOAuth2ProtectedResourceDetails,oAuth2ClientContext);
Но это просто не работает: (
Приветствуются любые идеи или приветствуются ссылки на рабочие примеры и учебные пособия.