Kann jemand einen Spring Rest Service für die Verwendung von PingFederate als externen Autorisierungsserver konfigurieren?Spring to Ping: Konfigurieren des Spring Rest Service für die Verwendung des externen Autorisierungsservers PingFederate
-1
A
Antwort
0
Bei dieser Frage war es wegen Gott weiß warum geschlossen. Aber hier ist die Antwort, die ich gefunden habe. Ich habe dies auf einer Demo basiert, die Google als einen externen Autorisierungsserver verwendet. Das Problem mit den üblichen Demos ist, dass alle den Spring Authorization Server verwenden. Hier ist der Platz zum Starten http://blog.arnoldgalovics.com/2017/02/05/google-oauth-with-spring-security-as-separated-resource-server/ Dann ändern Sie den GoogleAccessTokenValidator wie folgt (unten). Fragen, Feuer weg ...
private HttpHeaders createHeaders(final String username, final String password){
return new HttpHeaders() {{
String auth = username + ":" + password;
byte[] encodedAuth = Base64.encodeBase64(
auth.getBytes(Charset.forName("US-ASCII")));
String authHeader = "Basic " + new String(encodedAuth);
set("Authorization", authHeader);
}};
}
@SuppressWarnings("unchecked")
private Map<String, ?> getPingResponse(String accessToken) {
//Ping speaks text/html
List<HttpMessageConverter<?>> converters = restTemplate.getMessageConverters();
for (HttpMessageConverter<?> converter : converters) {
if (converter instanceof StringHttpMessageConverter) {
StringHttpMessageConverter stringConverter = (StringHttpMessageConverter) converter;
stringConverter.setSupportedMediaTypes(ImmutableList.of(new MediaType("text", "html", StringHttpMessageConverter.DEFAULT_CHARSET)));
}
}
//URL
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(checkTokenUrl)
.queryParam("grant_type", "urn:pingidentity.com:oauth2:grant_type:validate_bearer")
.queryParam("token", accessToken);
String url = builder.build().encode().toUri().toString();
//Basic Auth (from Ping, OAuth Settings, Manage Clients
HttpEntity<Object> requestEntity = new HttpEntity<Object>(createHeaders("my-trusted-client", "secret"));
//unused Spring exchange variables
Map<String, String> variables = ImmutableMap.of("ping does not", "use this"); //token only in queryParam above
//validation call to Ping
Map map = restTemplate.exchange(url, HttpMethod.POST, requestEntity, Map.class, variables).getBody();
return (Map<String, Object>) map;
}
Verwandte Themen
- 1. Konfigurieren des Zielnamens in Spring @JmsListener
- 2. Der Startleitfaden des Gebäudes Spring Boot Rest Service
- 3. Sichern des OAuth 2.0-Autorisierungsservers mithilfe der LDAP-Authentifizierung
- 4. Spring Junit Testfall für Controller Rest Service
- 5. Erstellen von Spring Rest Services ohne Verwendung von Spring Boot
- 6. Konfigurieren des benutzerdefinierten CookieGenerator Spring zum Überschreiben des Cookie-Pfads
- 7. Spring MVC + Spring Security-Login mit einem Rest Web-Service
- 8. How-to Spring Social über XML konfigurieren
- 9. Spring REST Service, Benutzer registrieren, Authentifizierung
- 10. spring rest service verbrauchen dynamische json feld
- 11. Jersey REST Service als Spring Component
- 12. Spring Batch: Konfigurieren von Service-Aktivator
- 13. Spring-Service-Methode Validierung
- 14. Spring Rest Web-Service zurück 415
- 15. Spring 5 Rest Service Invocation Problem
- 16. Erstellen Sie POJO für die Verwendung von REST Web Service mit Spring
- 17. Spring MockMvc - So testen Sie die Löschanforderung des REST-Controllers?
- 18. Konfiguration des Spring-Konfigurationsservers für die Veröffentlichung auf Rabbitmq
- 19. Verwendung des Passworts von Spring Security zur Authentifizierung des REST-Anrufs
- 20. Absicht des Spring-Formularbefehls
- 21. Verwendung von Locust.io für REST-Web-Service
- 22. Weblogic 11g für Spring konfigurieren
- 23. Spring REST Vorlage für Byte
- 24. Spring Mvc Rest Service Redirect/Forward/Proxy
- 25. Angular http und Spring Boot Rest Service
- 26. Konfigurieren des vertrauenswürdigen SSL-Keystores mit Spring Boot?
- 27. Zugang Https Rest Service mit Spring RestTemplate
- 28. NPE mit einem Spring-REST-Service abrufen
- 29. Anruf Rest Service mit Spring Boot
- 30. Konfigurieren des URL-Kontexts