Я использую собственную реализацию аутентификации вact-admin (с cognito), но я хочу переключиться на ra-cognito.Однако я не могу понять, как реализовать обещание AWS Amplify Auth.currentSession () внутри httpClient ra-data-json-server.
Мой старый / текущий код, который работает нормально:
import jsonServerProvider from 'ra-data-json-server';
const httpClient = (url, options = {}) => {
if (!options.headers) {
options.headers = new Headers({Accept: 'application/json'});
}
// cognitoIdToken item set on authentication
const cognitoIdToken = localStorage.getItem('cognitoIdToken');
options.headers.set('Authorization', cognitoIdToken);
return fetchUtils.fetchJson(url, options);
}
Мой новый код:
import jsonServerProvider from 'ra-data-json-server';
const httpClient = (url, options = {}) => {
if (!options.headers) {
options.headers = new Headers({Accept: 'application/json'});
}
return Auth.currentSession()
.then(data => {
options.headers.set('Authorization', data);
console.log('Authorization set...', data);
})
.then(fetchUtils.fetchJson(url, options));
}
Новый код явно неверен, но я не могу понять, включить ли обещание Auth.currentSession в функцию httpClient.