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.