0

У меня есть сценарий, к которому сервер авторизации должен иметь доступ к защищенному ресурсу (на отдельном сервере ресурсов), к которому необходимо получить доступ для информации, связанной с пользователем. Для доступа к этому защищенному ресурсу требуется токен доступа. Я создал этот токен вручную на TokenGranter и добавил его в заголовок запроса, сделанного шаблоном Rest. Когда доступ к ресурсу осуществляется, он аутентифицирует маркер с сервером авторизации.Доступ к защищенному ресурсу с сервера авторизации

Моя проблема даже в том, что токен доступа, сгенерированный в настоящее время в базе данных, я все время получаю доступ к доступу при попытке доступа к ресурсу.

Я делаю что-то неправильно в доступе к ресурсу? Как получить доступ к защищенному ресурсу с сервера авторизации?

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

private final OAuth2TokenGranter tg; 
TokenRequest tr = new TokenRequest(reqparams, clientId, scope, grantType); 

OAuth2AccessToken grantToken = tg.grant("bearer", tr); 

String token = "Bearer " + grantToken.getValue(); 

RestTemplate restTemplate = new RestTemplate(); 
HttpHeaders headers = new HttpHeaders(); 
headers.set("Authorization", token); 
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); 

HttpEntity<String> entity = new HttpEntity<String>(headers); 
restTemplate.exchange(url, HttpMethod.GET, entity, PagedResources.class, authentication.getName()); 

ответ

0

Много вещей может быть неправильным. Во-первых, проверьте, что сервер ресурсов требует, чтобы токен доступа имел - какие области он нужен и т. Д. Обязательно создайте токен доступа с правильными областями. Вы также упомянули, что вам нужен токен доступа для доступа к ресурсу пользователя. Я не знаком с OAuth2TokenGranter, который вы используете, но убедитесь, что генерируемый токен доступа связан с авторизацией пользователя. Возможно, ваш маркер-маркер создал токен доступа, но если он не связан с авторизацией пользователя, ваш сервер авторизации будет отвечать на запрос сервера ресурсов с неполной информацией - в результате ваш сервер ресурсов откажется от вашего запроса.

Смежные вопросы