Ошибка телефонной связи: 401 не авторизован - используется API-интерфейс Rest с базовой аутентификацией в телефонной пробке - PullRequest
0 голосов
/ 24 марта 2019

Я создал rest api в codeigniter и пытаюсь использовать его в приложении phonegap, но это дает мне ошибку - 401 Unauthorized в Phonegap index.html page.

Я использую Token Based Authentication в codeigniter. Rest api отлично работает в почтальоне, а также нормально работает, когда остальные api потребляются в Codeigniter View с использованием того же кода ajax

Codeigniter Rest Код сервера, на который я ссылался -

https://github.com/chriskacerguis/codeigniter-restserver

Ниже приведена ошибка, которую я получаю в Phonegap Index.html -

URL-адрес приложения Phonegap (http://192.168.1.2:3000/)

enter image description here

enter image description here

Ниже приведен код, который я использую с обеих сторон в телефонном промежутке / представлении Codeigniter URL (http://localhost/webapi/welcome/index)

   <script
  src="http://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous"></script>
     <script>
    var settings = {
  "async": true,
  "crossDomain": true,
  "url": "http://localhost/webapi/api/user/",
  "method": "GET",
  "headers": {
    "X-API-KEY": "7c4a8d09ca3762af61e59520943dc26494f8941b",
    "Authorization": "Basic YWRtaW46MTIzNA==",
    "cache-control": "no-cache",
    "Postman-Token": "552d3078-6d54-4d59-ba79-c94248b154b3"
  }
}
console.log("settings are -");
         console.log(settings);
$.ajax(settings).done(function (response) {
    console.log("here api result come - ");
  console.log(response);
});
    </script>

Снимок экрана API отдыха Работает нормально в Почтальоне - enter image description here

Снимок экрана COnsole при использовании API в представлении Codeigniter с использованием ajax - enter image description here

1 Ответ

0 голосов
/ 24 марта 2019

По сути, вы не сможете получить доступ к http://localhost/webapi/api/user/ из вашего эмулятора, поскольку ваш сервер XAMPP расположен на другой машине (эмулятор представляет собой виртуальную машину). Например, изменив URL вашего запроса на http://192.168.1.61/webapi/api/user/, вы можете получить доступ к серверу apache, расположенному на вашем ПК. Вам нужно будет узнать свой локальный IP-адрес, открыв командную строку и введя ipconfig. Вам также необходимо убедиться, что брандмауэр вашей сети разрешает входящий трафик с порта 80.

Или вы можете попробовать на сервере cpanel или plesk.

...