Как удалить автоматически добавленные соединения прокси в XCC? - PullRequest
0 голосов
/ 09 ноября 2018

Я хочу сделать ajax-запрос от IBM Connections XCC:

let api = 'https://my-server2/api.xml'
var xmlhttp = new XMLHttpRequest();

xmlhttp.onreadystatechange = () => {
    if (xmlhttp.readyState == XMLHttpRequest.DONE) 
       if (xmlhttp.status == 200) {
           console.log(xmlhttp.responseText)
       }else {
           console.log(`Error: ${xmlhttp.readyState}`)
       }
}

Результатом на вкладке сети является запрос к https://connections-host/communities/ajaxProxy/https/my-server2/api.xml, поэтому запрос передается через сервер соединений. Из-за этого я получаю пустой результат API, так как мне нужен сеанс авторизованного пользователя. Моя идея заключалась в следующем: пользователь вошел в свой браузер в приложении my-server2. Поэтому, когда я делаю ajax-запрос к my-server2, я могу получить информацию об API в его пользовательском контексте.

Итак, мой вопрос: как я могу обойти эти прокси?

Поскольку я не установил его, я предполагаю, что соединения манипулируют классом XMLHttpRequest следующим образом: https://gist.github.com/dewdad/8830348

Я хочу просмотреть его код, чтобы увидеть манипуляции с этим кодом в консоли, но он показывает только собственный код

window.XMLHttpRequest.prototype.open.toString()
    "function open() {
        [native code]
}"

1 Ответ

0 голосов
/ 10 ноября 2018

Connections использует прокси AJAX для управления тем, что отправляется на сайты / приложения, не связанные с Connections. Вы можете настроить его для своего сайта, чтобы разрешить отправку определенных методов, заголовков и файлов cookie на сайт, не связанный с Connections. Я бы взглянул на этот документ в Соединениях 6.0 https://www.ibm.com/support/knowledgecenter/en/SSYGQH_6.0.0/admin/secure/t_admin_config_ajax_proxy_feature.html

Я думаю, это должно помочь вам получить то, что вы хотите.

...