Я собираюсь интегрировать свое угловое приложение с облаком Jira. Для аутентификации пользователей Atlassian использует OAuth 2.0, чтобы внешние приложения могли получать доступ к API продукта от имени пользователей. Я выполнил инструкции эта страница
- Направьте пользователя на URL-адрес авторизации, чтобы получить код авторизации.
- Обменяйте код авторизации на токен доступа
- Авторизуйте любые вызовы API продукта с помощью токена доступа
- Проверить доступ к сайту для приложения
Успешно прохожу первую ступень. Но на втором этапе мой запрос POST на получение токена терпит неудачу. Это данные моего запроса
{
"grant_type":"authorization_code",
"client_id":"xxx",
"client_secret":"xxx",
"code":"xxx", // I receive this code from callback url from atlassian login page
"redirect_uri":"http://localhost:4200/"}
Это заголовок:
{'Content-Type': 'application/json'}
И вот что я получаю:
{"error":"invalid_grant","error_description":"Invalid authorization code"}
это код запроса, написанный на Angular 10:
this.http
.post(
'https://auth.atlassian.com/oauth/token', {
grant_type: 'authorization_code',
client_id: environment.oauth.clientID,
client_secret: environment.oauth.secret,
code: codeStr,
redirect_uri: environment.oauth.redirect_uri
}, {
headers: exchangeAuthCodeHeader,
responseType: 'json'}
).subscribe((data) => console.log(data), (error) => console.log(error));
Я застрял в этой ошибке на пару дней :( Любая идея будет большим подспорьем.