세개의 스프링 부팅 어플리케이션이 있습니다. 하나는 더비 스프링 부트이고 다른 하나는 OAuth2 (org.springframework.security.oauth2)입니다. 하나는 OAuth2 클라이언트이고 다른 하나는 OAuth2 서버입니다. 나는 그들을 전개 가능한 전쟁으로 변환하고 바람둥이에 배치했다. 그들은 잘 돌아가고있는 것처럼 보인다. OAuth2를 제외하고는 전개 가능한 전쟁에서 실패한 것 같습니다. 이 오류보고 있어요 :Deployable Spring Boot Wars OAuth2는 예외를 예외합니다.
org.springframework.security.oauth2.client.resource.OAuth2AccessDeniedException: Error requesting access token.
at org.springframework.security.oauth2.client.token.OAuth2AccessTokenSupport.retrieveToken(OAuth2AccessTokenSupport.java:145)
at org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsAccessTokenProvider.obtainAccessToken(ClientCredentialsAccessTokenProvider.java:44)
at org.springframework.security.oauth2.client.token.AccessTokenProviderChain.obtainNewAccessTokenInternal(AccessTokenProviderChain.java:148)
at org.springframework.security.oauth2.client.token.AccessTokenProviderChain.obtainAccessToken(AccessTokenProviderChain.java:121)
at org.springframework.security.oauth2.client.OAuth2RestTemplate.acquireAccessToken(OAuth2RestTemplate.java:221)
at org.springframework.security.oauth2.client.OAuth2RestTemplate.getAccessToken(OAuth2RestTemplate.java:173)
at org.springframework.security.oauth2.client.OAuth2RestTemplate.createRequest(OAuth2RestTemplate.java:105)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:648)
at org.springframework.security.oauth2.client.OAuth2RestTemplate.doExecute(OAuth2RestTemplate.java:128)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:613)
at org.springframework.web.client.RestTemplate.headForHeaders(RestTemplate.java:336)
을 나는 디버그를 모두 실행 및 배포와 내가 찾은 유일한 것은 실행 전쟁에 OAuth2AccessToken가 값을 가지고 있다는 것입니다하지만 바람둥이에 배포 전쟁의 OAuth2AccessToken가 null .
curl
으로 토큰을받을 수 있으며 응용 프로그램에서 URL이 올바른지 확인했습니다.
나는 또한 별개의 바람둥이에 더비 스프링 부트를 배치하려고 시도했는데, OAuth2가 작동을 시작하게 만드는 이유는 확실하지 않습니다.
전쟁이 동일하기 때문에 왜 이런 일이 발생하는지 잘 모르겠습니다. 바람둥이에서 일부 구성이 누락 되었습니까?
또는 tomcat에 배포 된 클래스와 충돌이 있습니까? 아니면 바람둥이 클래스 패스?