Шаблон Spring Rest с OAUTH

Мой уровень контроллера заключен в оболочку spring oauth2. Я пишу интеграционный тест для проверки вызовов api к контроллеру, поэтому я решил использовать RestTemplate .

Ниже приведены команды, которые я использую через curl:

curl -v --cookie cookies.txt --cookie-jar cookies.txt  "http://localhost:8080/oauth/token?client_id=my-trusted-client&grant_type=password&scope=trust&username=xxxx&password=xxxxxx"

Это возвращает токен доступа, который я использую для вызова API:

curl -v -H "Authorization: Bearer Access toekn value" "http://localhost:8080/profile/1.json"

При использовании RestTemplate мне удалось получить доступ токен, но теперь я хочу передать этот токен для выполнения вызовов API:

DefaultHttpClient client = new DefaultHttpClient();
    HttpHeaders headers = new HttpHeaders();
    headers.set("Authorization: Bearer", accessToken);
    System.out.println(accessToken);
    HttpEntity<String> entity = new HttpEntity<String>(headers);
    System.out.println(restTemplate.exchange("http://localhost:8080/xxxx",HttpMethod.GET,entity,Object.class));

Однако я получаю эту ошибку:

Exception in thread "main" org.springframework.web.client.HttpClientErrorException: 401 Unauthorized
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:75)
at org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:486)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:443)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:401)
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:377)
at com.gogii.service.SKUService.testGetAllSKU(SKUService.java:20)

Как мы можем выполнять аутентифицированные вызовы с помощью RestTemplate ?

6
задан cdeszaq 23 March 2012 в 19:51
поделиться