繁体   English   中英

使用 Cognito 和 Amplify 的 SSO + Angular

[英]SSO with Cognito and Amplify + Angular

这可能是一个重复的问题,但我无法解决。

我们在 Angular 10 上运行了三个网站:

sso.mywebsite.com

dev.mywebsite.com

演示.mywebsite.com

当有人来到开发演示站点时,他们单击登录图标并重定向到sso.mywebsite.com 使用 Amplify + Angular 通过 Cognito 对用户进行身份验证。

现在,用户被重定向回启动登录的开发演示站点。 如果用户已经通过sso网站的身份验证,他/她应该被重定向到没有发生的网站的主页。

在对 inte.net 进行一些研究后,我发现如果cookieStorage在 Angular 中定义如下, Amplify应该能够加载身份验证数据:

export const environment = {
  AMPLIFY: {
    region: 'us-east-2',
    userPoolId: 'us-east-2_xxxxxx',
    authenticationFlowType: 'USER_PASSWORD_AUTH',
    userPoolWebClientId: '2xxx6j8xxxx1u2dixxxxnge',
    cookieStorage: {
      domain: 'mywebsite.com',
      secure: false,
      path: '/',
      expires: 365,
    }
  }
};

三个网站的cookieStorage设置都是一样的。 但是 Amplify 仍然无法读取身份验证数据。 我在这里做错了什么?

我用以下设置解决了这个问题:

设置.mywebsite.com而不是mywebsite.com

export const environment = {
  AMPLIFY: {
    region: 'us-east-2',
    userPoolId: 'us-east-2_xxxxxx',
    authenticationFlowType: 'USER_PASSWORD_AUTH',
    userPoolWebClientId: '2xxx6j8xxxx1u2dixxxxnge',
    cookieStorage: {
      domain: '.mywebsite.com',
      secure: false,
      path: '/',
      expires: 365,
    }
  }
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM