Доступ к удаленному API, для которого требуется имя домена со ссылкой в ​​белый список, через Cordova - PullRequest
0 голосов
/ 08 июня 2018

У меня вопрос общего назначения, прежде чем я пойду по дороге, которая может оказаться невозможной.Я хочу создать приложение, которое может взаимодействовать с API (читать данные и дату обновления) на внешнем веб-сайте.Внешний сайт предлагает два метода для подключения к API, клиентский и серверный набор вызовов API.Для метода клиента требуется белый список ссылающегося домена, а для метода сервера - белый IP-адрес ссылающегося сайта.

Если я создаю обычную веб-страницу и хочу подключиться к API, то если HOST.com является сайтомЯ хочу подключиться к, а CLIENT.com - это сайт, с которого я хочу подключиться, тогда я бы включил белый список CLIENT.com в установочные файлы HOST.com.

В качестве альтернативы, если я хочу получить доступ к HOST.comчерез API сервера (например, php), тогда мне нужно внести в белый список IP-адрес веб-сайта CLIENT.com в установочных файлах HOST.com.

Мой вопрос заключается в том, можно ли это сделать в Cordova?Я, очевидно, не смогу занести в белый список IP-адрес устройства, но может ли устройство передать домен-ссылку на HOST.com, чтобы он пропустил белый список?

Или мне придется настроить некоторые из них?своего рода веб-приложение, размещенное в облаке, с которым приложение взаимодействует, и которое размещает приложение, затем обращается к HOST.com с доменом из белого списка (или даже через серверный API и IP из белого списка).

Я понимаю общность этого вопроса, но было бы полезно с любой обратной связью.Хочу отметить, что речь идет не о белых списках в приложении Cordova, а о конфигурации сервера на удаленном сервере.Если CLIENT.com не внесен в белый список, CLIENT.com НЕ сможет получить доступ к HOST.com. Заранее спасибо.

1 Ответ

0 голосов
/ 08 июня 2018

Вы можете сделать что-нибудь с помощью простого вызова AJAX.Если у вас есть знания PHP, вы можете использовать это для отправки на другой URL (например, некоторые данные):

[PHP - вызывается с ajax]

    $postdata = http_build_query(
        array(
            'name' => $name,
            'surname' => $surname
        )
    );

    $opts = array('http' =>
        array(
            'method'  => 'POST',
            'header'  => 'Content-type: application/x-www-form-urlencoded',
            'content' => $postdata
        )
    );

    $context  = stream_context_create($opts);
    //call some api
    $result = file_get_contents('http://someurl.com/write.php?key=2q2q3q&name='.$name.'&surname='.$surname.', false, $context);

if($context) {
  echo "success"; // ajax returned
} else {
  echo "error"; // ajax returned
} 

Такпосле вызова ajax (обновление или что-то), вы можете отправить эти данные также на другой host.com.

...