上下文:我在一个静态站点中使用 Amplify 进行身份验证,该站点由 2 个站点组成,这些站点通过构建网站 A、将其放入 S3 存储桶和构建网站 B 并将其构建文件放在该 S3 存储桶的子文件夹中。然后它托管得很好,唯一的障碍是在站点之间导航,我不能使用网站 A 的路由器,因为在构建时它不知道网站 B 存在,所以引导用户访问网站 BI 必须使用window.location.assign(SAME_DOMAIN/v2/website_B)。
预期结果:我可以在 Chrome、Safari、Firefox 等中导航到其他站点。
实际结果:我可以在 Chrome、Firefox、Opera 中导航到其他站点。在 Safari 中,当我尝试导航到其他站点时,Amplify.currentSession() 返回错误“无法获取当前用户”,因此网站自然会将我重定向回登录。检查存储后,它似乎正在擦除 Amplify 凭据(无论我将它们保存在 localStorage 还是 cookie 中)。另一个奇怪的行为是,如果我手动输入 URL,它导航我没有问题,但我尝试了 window.location.replace、window.location.assign、document.location.replace 等,但没有任何效果。
放大配置
auth: {
region: "eu-west-2",
userPoolId: "eu-west-2_XXXXXXXX",
userPoolWebClientId: "XXXXXXXXXXXXXXXXXXXXXX",
cookieStorage: {
domain: "XXX.XXXXX.com",
path: "/",
expires: 365,
secure: true,
},
},