У меня есть приложение реагирования на стороне сервера, которое вызывает метод Amplify Auth.CurrentAuthenticatedUser
для проверки подлинности перед отображением защищенных страниц.
На стороне клиента я использую cookieStorage
. Он прекрасно работает, так как учетные данные успешно извлекаются при вызове Auth.CurrentAuthenticatedUser
при доступе к защищенным маршрутам через BrowserRouter
маршрутизатора реакции-маршрутизатора.
На стороне сервера (когда доступ к защищенным маршрутам осуществляется прямым HTTP-вызовом), я использую следующую конфигурацию для Amplify:
import cookie from 'cookie';
class ServerCookieStorage {
constructor(requestCookie) {
this.cookieObj = {};
if (requestCookie) this.cookieObj = cookie.parse(requestCookie);
}
setItem(key, value) {
this.cookieObj[key] = value;
}
getItem(key) {
return this.cookieObj[key];
}
removeItem(key) {
this.cookieObj[key] = '';
}
}
Amplify.configure({
Auth: {
identityPoolId: 'placeholder',
region: 'placeholder',
userPoolId: 'placeholder',
userPoolWebClientId: 'placeholder',
storage: new ServerCookieStorage(event.headers.Cookie);
//cookie header in aws lambda functions is located in event.header.Cookie
}
});
Я зарегистрировал то, что входит в методы setItem
и getItem
, и кажется, что он получает всю информацию нормально, когда вызывается метод Auth.CurrentAuthenticatedUser
, однако метод завершается с ошибкой Not Authenticated
.
Я что-то здесь упускаю?