Одноранговый узел не аутентифицирован исключение при подключении SAP Cloud Platform к Office 365 API

Я реализую Java-приложение SAP Cloud Platform для подключения к Office 365 API (https://outlook.office.com/) с использованием аутентификации OAuth2. Когда я запускаю его на локальном сервере Apache Tomcat, я правильно получаю ответ от сервера. Когда я запускаю тот же код на SAP Cloud Platform, я получаю исключение javax.net.ssl.SSLPeerUnverifiedException: одноранговый узел не аутентифицирован | В обоих случаях я получаю правильный токен OAuth. Что мне здесь не хватает? Я использую следующий код:

private Object getResponseFromAzure(String url, String methodType) {
    AuthenticationResult result = null;
    try {
        result = getAccessTokenFromUserCredentials(); // OAuth2 bearer token
    } catch (Exception e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    String accessToken = result.getAccessToken();
    System.out.println("Access Token is - " + accessToken);
    HttpClient client = new DefaultHttpClient();

    HttpRequestBase request = null;
    if ("GET".equals(methodType)) {
        request = new HttpGet(url);
    } else if ("POST".equals(methodType)) {
        request = new HttpPost(url);
    }

    request.addHeader("Authorization", "Bearer " + accessToken);
    HttpResponse response = null;
    try {
        response = client.execute(request);
    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

person user209230    schedule 15.08.2017    source источник


Ответы (1)


Создайте пункт назначения в SCP. Загрузите корневой и промежуточный сертификаты в службу назначения. Это часть пользовательского интерфейса.

Подключайтесь из вашего java-приложения, используя пункт назначения, а не прямое соединение. Пример кода доступен на странице /viewer/cca91383641e40ffbe03bdc78f00f681/Cloud/en-US/e592cf6cbb57101495d3c28507d20f1b.html

person Mikael G    schedule 18.08.2017
comment
Спасибо за ответ. У меня есть некоторые сомнения относительно места назначения и сертификатов: 1) Как мне извлечь сертификат из API Outlook для загрузки в SCP? - person user209230; 18.08.2017
comment
2) В пункте назначения я сделал конфигурацию, которая, я не уверен, правильная: Тип: HTTP URL: outlook. office.com Тип прокси: Интернет-аутентификация: OAuth2SAMLBearerAssertion Аудитория: outlook.office.com Ключ клиента : ‹Секрет клиента, созданный в приложении, зарегистрированном в Azure AD› URL-адрес службы токенов: login.microsoftonline.com/common / oauth2 / authorize Пользователь службы токенов: ‹идентификатор клиента из приложения, зарегистрированного в Azure AD› Пароль службы токенов: ‹секретный ключ клиента, созданный в приложении, зарегистрированном в Azure AD› Пользователь системы: ‹empty› Правильная конфигурация? - person user209230; 18.08.2017