Spring Security OATH2 -Client erhalten Zugriffstoken fehlJava

Java-Forum
Anonymous
 Spring Security OATH2 -Client erhalten Zugriffstoken fehl

Post by Anonymous »

Verwenden von Spring Start habe ich in einer Konfigurationsklasse und die entsprechenden Eigenschaften in der Eigenschaftendatei eine oAuth2restTemplate bean in einer Konfigurationsklasse eingerichtet. Ich habe Swagger CodeGen verwendet, um den Client -Stub zu erstellen. Wenn ich versuche, die erholsame API anzurufen, kann der Frühling einen Zugangstoken mit der Grundursache für "nicht unterstütztes Medientyp" erhalten. Im Folgenden finden Sie die Stacktrace, meine Spring Security Client -Konfiguration und meine Versuche, zu beheben. Jede Hilfe wäre sehr geschätzt! scope = [read], client_id = [val aus props], client_secret = [val aus props]}

error = "access_denied", error_description = "Access Token Denied.
at org.springframework.security.oauth2.client.token.oauth2AccessTokenSupport.RevEteToken (OAuth2AccessToKensupport.java:142)
at org.springframework.security.oauth2.client.token.grant.client.clientcredentialsAccessTokenProvider.OBtainaccessToken (ClientcredentialsAccessokenProvider.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)
org.springFramework.security.oauth2rient.oauth2resttemplate.CreaterEntr. /> bei org.springframework.web.client.resttemplate.doexecute (rastTemplate.java:735)
bei org.springFramework.security.oAUTH2.CLIENS.OAUTH2RestTemplate.doexecute (OATH2ResttemPlate.java:128) ATUTH2ResttemPlate.java:128) < org.springFramework.web.client.resttemplate.exchange (rastTemplate.java:651)
at com.my.co.service.holidays.client.invoker.apiclient.invokeapi (apiclient.java:518)
ATR /> ATR /> ATR /> ATR /> ATR /> ATR /> ATR /> ATR /> ATR />

ATR /> ATR /> ATLE. com.my.co.service.holidays.client.api.HolidaysApi.getHolidays(kHolidaysApi.java:183)
at com.my.co.service.holiday.HolidaysApiTest.getHolidaysTest(HolidaysApiTest.java:66)
at sun.reflect.nativemethodaccessorimpl.invoke0 (native Methode)
at sun.reflect.nativemethodaccessorImpl.invoke (nativemethodaccessorimpl.java:62)
at sun.reflect.delegatingMethodaccessorimpl.invoke (delegatingMethodaccessorimpl.java:43)
at java.lang.reflect.method.invoke (method.java:498)
at org.junit.platform.commons.util.reflectionutils.invokemethod (reflectionutils.java:686)
at org.junit.jupiter org.junit.jupiter org.junit.jupiter.engine.extension org.junit.jupiter.engine.execution. org.junit.jupiter.engine.execution. org.junit.jupiter org.junit.jupiter org.junit.jupiter org.junit.Platform.engine.support.hierarchical.throwableCollector.execute (throwableCollector.java:73)
at org.junit.jupiter org.junit.jupiter org.junit.platform.engine.support.hierarchical.nodetesttask.lambda $ execuTereSesive $ 5 (nodetesttask.java:135)
at org.junit.platform.engine.support.hierarchical.throwablecollector.exectector (throwablecolecture org.junit.platform.engine.support.hierarchical.nodetesttask.lambda $ execuTereSesiv $ 7 (nodetesttask.java:125)
at org.junit.platform.engine.support.hierarchical.node.around (nodes.java org.junit.platform.engine.support.hierarchical.nodetesttask.lambda $ execUteresiv $ 8 (nodetesttask.java:123)
at org.junit.platform.engine.support.hierarchical.throwcollector. org.junit.platform.engine.support.hierarchical.nodetesttask.executerecursiv (nodetestask.java:122)
at org.junit.platform.Engine.support.hierarchical.nodetesttask.execute (nodetestask.java:80)

If I use Postman to hit the authorization server, I successfully get back a token
{
"tokenType": "BearerToken",
"expiresIn": "899",
"accessToken": "dv6fnhBALtNzlhjMyCRfa9JDYodd"
}
< /code>
using these settings in Postman
POST request,
Authorization - Basic with my client_id/secret as username/password,
Headers - Content-Type = application/x-www-form-urlencoded,
Body - grant_type = client_credentials
< /code>
In JUnit test, I can set the token value (and bypass the Spring injection of RestTemplate[/code]) Verwenden der Antwort vom Postman

Code: Select all

HolidaysApi api = new HolidaysApi();
OAuth oAuth2 = (OAuth) api.getApiClient().getAuthentication("OAuth2");
oAuth2.setAccessToken("dv6fnhBALtNzlhjMyCRfa9JDYodd");

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post