ошибка unsupported_grant_type при попытке аутентификации пользователя - PullRequest
0 голосов
/ 29 августа 2018

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

Сейчас я занимаюсь разработкой приложения для angular 5 и пытаюсь получить токен аутентификации, отправив сообщение на сервер. Когда я использую почтальон для проверки соединений, проблем не возникает. Но в угловых я получаю следующую ошибку

400 (Bad Request)

Вот что я написал до сих пор,

getAccessToken2() {
let url = "http://api.akilli.tv/oauth/token";

var headers = new HttpHeaders();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
headers.append('Accept', 'application/json');

let urlSearchParams = new URLSearchParams();
urlSearchParams.set('grant_type', 'password');
urlSearchParams.set('username', 'alikamilyagli@gmail.com');
urlSearchParams.set('password', '1234');
urlSearchParams.set('client_id', '2');
urlSearchParams.set('client_secret', 'Q5U9fclient*!secret*!clientsecret*!9SqUaH9sKro');
urlSearchParams.set('scope', '*');

let body = urlSearchParams.toString();

return this.http.post(url, body)
  .subscribe((data: any) => {
    console.log(data);
  });

}

А вот скриншот запроса почтальона, который был успешным enter image description here

И я также столкнулся с проблемой Access-allow-control-origin и решил ее путем добавления дополнения chrome, которое называется «CORS». Есть ли другой и более здоровый способ решения этой проблемы?

Заранее уже спасибо.

1 Ответ

0 голосов
/ 29 августа 2018

Попробуйте это

const data = 'grant_type=password';
        return this.http.post( url, data,
            {headers: new HttpHeaders({'Accept': 'application/json'),
            'Content-Type': 'application/x-www-form-urlencoded'})});
...