aws-放大会话和cookie

问题描述 投票:0回答:1

我有两个不同的项目。项目 A (amplify 6) 用户可以使用 amplify 登录,如果成功,他将被重定向到项目 B (amplify 5),登录按预期工作,我知道根据用户信息保存了一些 cookie默认从放大。转到项目 B,用户可以在那里注销,这是我的问题,我在项目 B 上尝试了 Auth.signOut() 和 Auth currentAuthenticatedUser() ,但它什么也没做。 currentAuthenticatedUser() 返回没有经过身份验证的用户。

这是我第一次使用 Amplify,我知道我可能在这里遗漏了一些东西,但我认为使用 cookie,我可以注销项目 B 上已在项目 A 上进行身份验证的用户。

项目 B 上的一切配置都很好,我什至尝试使用 Amplify 注册用户,只是为了看看问题是否是我错过的配置,但它有效。

OBS:我在项目 B 上使用 amplify 5,因为由于我使用的 React 版本,我在尝试安装 amplify 6 时遇到了很多问题。

为了从项目 A 获取经过身份验证的用户,我在项目 B 中缺少什么?

这就是我在项目 A 上设置 cookie 的方式

  const authConfig: ResourcesConfig['Auth'] = {
    Cognito: {
      userPoolId: awsmobile.aws_user_pools_id,
      userPoolClientId: awsmobile.aws_user_pools_web_client_id
    }
  };

  Amplify.configure({Auth: authConfig});

  cognitoUserPoolsTokenProvider.setKeyValueStorage(new CookieStorage());

在项目 B 中,我仅使用 Amplify 中的signOut() 函数。

reactjs session cookies aws-amplify
1个回答
0
投票

您需要将域名传递给提供商:

  cognitoUserPoolsTokenProvider.setKeyValueStorage(new CookieStorage({ domain: process.env.NEXT_PUBLIC_DOMAIN }))

并使用参数 global: true 退出

    await signOut({
      global: true
    })
© www.soinside.com 2019 - 2024. All rights reserved.