не может пройти проверку подлинности с ошибочным запросом API 400 - PullRequest
0 голосов
/ 01 сентября 2018

Я пытаюсь аутентифицировать пользователя с помощью API. Я реализовал метод для функции входа в систему

 login() {

this.key = this.credentials.username + ":" + this.credentials.password;
this.base64 = btoa(this.key)  //base64

this.url = encodeURI(this.base64);  //url

this.contentHeader = new HttpHeaders().set("Authorization", "Basic " + this.url);

return new Promise((resolve, reject) => {
  console.log(this.contentHeader)
  this.http.post(this.LOGIN_URL, null, { headers: this.contentHeader })
    .subscribe(res => {
      resolve(res);
      console.log("success:" + res)
      res => this.authSuccess(res.id_token)

    }, (err) => {

      console.log("rejected");
      reject(err);
    });
});

}

Я пытаюсь объединить имя пользователя и пароль, а затем закодировать в base64. снова он закодирован в URL и публикуется с совмещением с заголовком. Я правильно аутентифицируюсь с почтальоном. но в ионном приложении написано неверный запрос.

1 Ответ

0 голосов
/ 01 сентября 2018

Когда вы отправляете запрос POST, используя HTTP или HTTPClient, второй параметр отправляется как тело POST. Похоже, в вашем коде вы отправляете авторизацию не как заголовок, а как тело сообщения POST.

Измените его на:

this.http.post(this.LOGIN_URL, null, {
    headers: HttpHeaders().set("Authorization", "Basic " + this.url)
  })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...