Почему мой вызов API возвращает 401 из приложения Ionic, а не Postman?

Я следовал указаниям Smart of the Home по созданию следующего кода в поставщике для приложения Ionic 2.

return new Promise(resolve => {
  // We're using Angular HTTP provider to request the data,
  // then on the response, it'll map the JSON data to a parsed JS object.
  // Next, we process the data and resolve the promise with the new data.
  let headers = new Headers();
  headers.append('Content-Type','application/vnd.alertme.zoo-6.1+json');
  headers.append('Accept','application/vnd.alertme.zoo-6.1+json');
  headers.append('X-Omnia-Client','Hive Web Dashboard');
  let options = new RequestOptions({ headers: headers });
  const body = JSON.stringify({
    "sessions": [{
      "username": "<username>",
      "password": "<password>",
      "caller": "WEB"
    }]
  });
  this.http.post('https://api.prod.bgchprod.info:443/omnia/auth/sessions', body, options)
    .map(res => res.json())
    .subscribe(data => {
      console.log(data)
    });
});

Теперь, когда я очень любезно попробую коллекцию "Почтальон", предоставленную автором учебника, на который я ссылался выше, вызов возвращается отлично, но возвращает 401 при запуске приложения.

Проверяя сделанные запросы, все выглядит идентично. Я не могу понять, что происходит?

2 ответа

401 означает "Несанкционированный", поэтому автор, скорее всего, явным образом внесет "Почтальон" в белый список по пользовательскому агенту, IP-адресу или аналогичному механизму, что приведет к сбою в работе вашего собственного приложения.

Каждому, кому не повезло наткнуться на эти части:

Проверьте свой код. Проверь это. Проверьте это снова. В последний раз. Запустите его через diff. Если что-то делает две разные вещи в двух разных местах, но выглядит идентично, Бритва Оккама сказала бы, что решение состоит в том, что код на самом деле НЕ идентичен, и что вы просто поддаваетесь недостатку сна и чрезмерному употреблению кофеина.

Ответ здесь прост. Рассмотрим "auth/session" в учебнике против "auth/session" в моем коде. Две разные конечные точки.

Другие вопросы по тегам