Bu sorunun çözümü için web'de arama yaptım, ancak herhangi bir çalışma çözümü bulamadım. Temel Spring Boot OAuth2 Yetkilendirme Sağlayıcısı ve İstemcisini kurmaya çalışıyorum.Spring Boot OAuth2 - Kullanıcı ayrıntıları alınamadı token
Resmi Spring Boot talimatlarını takip ettim ve Facebook ile Github ile tek bir oturum açtım. Daha sonra Secure Spring Boot Web uygulaması oluşturma talimatlarını takip ettim.
Kendi Yetkilendirme Sunucumumu oluşturmak istedim, bu nedenle here açıklandığı gibi Güvenli Web Uygulamasına @EnableAuthorizationServer ek açıklamasını ekledim. Ayrıca bir bağlantıda açıklandığı gibi bir OAuth2 istemcisinin ayrıntılarını ekledim. Daha fazla talimatı takip ettim ve bir OAuth2 İstemcisi oluşturdum.
Her iki uygulamaya da başlıyorum, Müşteri açmak için 127.0.0.1:9999 adresini ziyaret edin, istemci beni localhost'a yönlendiriyor: 8080/login, Kullanıcı bilgilerini giriyorum ve Kimlik Doğrulama Sağlayıcısı beni 127.0.0.1:9999/login adresine yönlendiriyor ve bir hata mesajı:
Kimlik Başarısız: Bu günlüğe Nelerin token
kullanıcı bilgilerini elde edilemedi:
INFO 2800 --- [nio-9999 -exec-3] osbasorUserInfoTokenServices: Kullanıcı bilgisini alma: http: // localhost: 8080/me
DEBUG 2800 --- [nio-9999-exec-3] ossoauth2.client.OAuth2RestTemplate: GET isteği oluşturuldu http: // localhost: 8080/me için
DEBUG 2800 --- [nio-9999-exec-3] ossoauth2.client.OAuth2RestTemplate: Ayar isteği Başlığı kabul [application/json, application/* + json ]
DEBUG 2800 --- [nio-9999-exec-3] ossoauth2.client.OAuth2RestTemplate: http GET isteği: // localhost: 8080/me 200 sonuçlandı (OK)
BİLGİ 28 00 --- [nio-9999-exec-3] osbasorUserInfoTokenServices: Kullanıcı ayrıntıları alınamadı: sınıf org.springframework.web.client.RestClientException, Yanıt alınamadı: yanıt türü için uygun HttpMessageConverter bulunamadı [interface java.util .map] ve içerik türü [metin/html; charset = UTF-8]]
Bu benim istemci uygulama: Bu istemci uygulaması YML
@EnableAutoConfiguration
@Configuration
@EnableOAuth2Sso
@RestController
public class ClientApplication {
@RequestMapping("/")
public String home(Principal user) {
return "Hello " + user.getName();
}
public static void main(String[] args) {
SpringApplication.run(ClientApplication.class, args);
}
}
olup:
server:
port: 9999
security:
oauth2:
client:
client-id: acme
client-secret: acmesecret
access-token-uri: http://localhost:8080/oauth/token
user-authorization-uri: http://localhost:8080/oauth/authorize
resource:
user-info-uri: http://localhost:8080/me
Bu benim Yetkilendirme Sağlayıcı uygulaması:
security:
oauth2:
client:
client-id: acme
client-secret: acmesecret
scope: read,write
auto-approve-scopes: '.*'
/me kimlik doğrulama sunucusu URI: Yetkilendirme Sağlayıcı uygulaması için ben bu sınıfı eklendi? –
Bu kılavuz, https://spring.io/guides/tutorials/spring-boot-oauth2/ adresinde, bu gerekli adımı (bir sonraki adım) tamamlamadan önce denemenizi söyler. Bende aynı sorun vardı. –