Oauth2ClientCredentials - возвращена ошибка службы назначения: unauthorized_client - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь использовать назначение CF, определенное как Oauth2ClientCredentials, где серверу аутентификации требуется только имя пользователя / пароль, а не clientid / clientsecret для генерации токена.У меня есть фиктивная клиентская и клиентская тайна в конфигурации назначения, так как она является обязательной, но, похоже, она принимает во внимание только идентификатор клиента / секрет, а не токен пользователя / пароль.Трассировка стека:

com.sap.cloud.sdk.cloudplatform.connectivity.exception.DestinationAccessException: Failed to get authentication headers. Destination service returned error: unauthorized_client.
    at com.sap.cloud.sdk.cloudplatform.connectivity.ScpCfHttpDestinationPropertyFactory.getAuthTokenHeaders(ScpCfHttpDestinationPropertyFactory.java:376) ~[cloudplatform-connectivity-scp-cf-3.0.0.jar:na]
    at com.sap.cloud.sdk.cloudplatform.connectivity.ScpCfHttpDestinationPropertyFactory.getHeadersFromDestination(ScpCfHttpDestinationPropertyFactory.java:328) ~[cloudplatform-connectivity-scp-cf-3.0.0.jar:na]
    at com.sap.cloud.sdk.cloudplatform.connectivity.ScpCfHttpDestination.getHeaders(ScpCfHttpDestination.java:288) ~[cloudplatform-connectivity-scp-cf-3.0.0.jar:na]
    at com.sap.cloud.sdk.cloudplatform.connectivity.HttpClientWrapper.wrapRequest(HttpClientWrapper.java:86) ~[cloudplatform-connectivity-3.0.0.jar:na]
    at com.sap.cloud.sdk.cloudplatform.connectivity.HttpClientWrapper.execute(HttpClientWrapper.java:97) ~[cloudplatform-connectivity-3.0.0.jar:na]
    at com.demo.destinationtest.MainController.worksoft(MainController.java:111) ~[classes/:na]

Значение ScpCfHttpDestination в отладчике:

ScpCfHttpDestination(destinationType=HTTP, name=test, description=test connection, propertiesByName=ScpCfDestination(destinationType=HTTP, name=test, description=test connection, propertiesByName=DefaultDestination(properties={tokenServiceURLType=Dedicated, clientId=dummy, Description=test connection, tokenServiceUser=mymail@domain.com, tokenServiceURL=http://domain/executionmanager/api/Token, URL=http://domain/executionmanager/api/Requests, Name=test, tokenServicePassword=(hidden), authTokens=[ScpCfDestinationServiceV1Response.DestinationAuthToken(type=, value=, error=unauthorized_client, expiresIn=0)], Type=HTTP, certificates=null, Authentication=OAuth2ClientCredentials, clientSecret=STOTest3, ProxyType=Internet})))

Другой пункт назначения, где у меня есть хороший секретный ключ / идентификатор клиента, работает нормально.

1 Ответ

1 голос
/ 25 сентября 2019

Единственный пункт назначения OAUTH, поддерживаемый облачным литейным цехом, - это учетные данные клиента, а не поток паролей, поэтому это не ограничение облака SDK.

...