API-шлюз с Cognito Authorizer не работает с приложением реагировать, но работает с угловым

Я создал приложение для реагирования на одну страницу, сделал простой метод поста шлюза API AWS с включенными cors. Метод post является фиктивной конечной точкой. Я включил авторизатор Cognito User Pools в методе post для аутентификации. Вот код для реакции на вызов API. Если авторизация cognito не включена в методе post, приложение реакции и приложение angular работают одинаково. Реакция терпит неудачу, когда авторизатор Cognito включен. Я пытался использовать axios в дополнение к ampifyjs для API-вызова к API-шлюзу, но это тоже не помогло. Я попытался включить Cors по-разному на API-шлюзе без прогресса.

`Auth.currentSession().then(result => {
      axios.post('https://iz90o5ohe8.execute-api.us-east-1.amazonaws.com/dev/compare-yourself', {
    headers: {

      'Authorization': result.idToken.jwtToken
  },
  data
  })
  .then(response => {
    console.log("axios successful");
    console.log(response);
    console.log("axios successful end");


  }).catch(error => {
    console.log("axios failed");
    console.log(error);
    console.log("axios failed end");

  });
}).catch(err => {
  console.log("jwt failed");
  console.log(err);
  console.log("jwt failed end");


});

API.post("pack-chain", "/compare-yourself/", {
  body: {

  },
  header: async () => { 
    return { Authorization: (await Auth.currentSession()).idToken.jwtToken } 
  }          
}).then(response => {
  // Add your code here
  console.log("AmplifyJS successful");
  console.log(response);
  console.log("AmplifyJS successful end");


}).catch(error => {
  console.log("AmplifyJS failed");
  console.log(error)
  console.log("AmplifyJS failed end");

});` 

Вот код для углового приложения js call

 this.authService.getAuthenticatedUser().getSession((err, session) => {
  if (err) {
    return;
  }
  this.http.post('https://iz90o5ohe8.execute-api.us-east-1.amazonaws.com/dev/compare-yourself', data, {
    headers: new Headers({'Authorization': session.getIdToken().getJwtToken()})
  })
    .subscribe(
      (result) => {
        console.log("angular successful");
        console.log(result);
        console.log("angular successful end");
      },
      (error) => {
        console.log("angular failed");
        console.log(error);
        console.log("angular failed end");
      }
    );
});

}

Это журнал для приложения реакции с Cognito.

Это журнал для углового приложения с Cognito

Это журнал для приложения "Реакция" без Cognito по методу post.

0 ответов

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