【问题标题】:Amplify cookies Auth with default Cloudfront dns does not work使用默认 Cloudfront dns 放大 cookie 身份验证不起作用
【发布时间】:2020-02-06 02:30:14
【问题描述】:

我和一位同事正在为此绞尽脑汁,所以希望你们中的一个聪明人能指出我们做错了什么......

我们有一个从 S3 提供的 Angular 应用程序,前面有一个 CloudFront 分布,一切正常。我们正在使用 AWS Amplify 开发工具包通过 cookie 进行身份验证,使用以下内容(根据 Amplify 文档的建议):

Amplify.configure({
  Auth: {
    region: environment.cognito_region,
    userPoolId: environment.cognito_user_pool_id,
    userPoolWebClientId: environment.cognito_user_pool_web_client_id,
    cookieStorage: {
        domain: '.dev.<our domain>.net',
        secure: true
    },
  }
});

我们想要做的是启动多个指向其他 s3 站点的 Cloudfront 发行版以进行功能分支测试。我们不想每次都创建 dns 条目,因此我们试图通过使用默认的 cloudfront.net dns 来获得相同的方法。所以我们就这样做了:

Amplify.configure({
  Auth: {
    region: environment.cognito_region,
    userPoolId: environment.cognito_user_pool_id,
    userPoolWebClientId: environment.cognito_user_pool_web_client_id,
    cookieStorage: {
        domain: '.cloudfront.net',
        secure: true
    },
  }
});

我们将这种方法的云端分发更改为使用默认 SSL 证书等,没有别名。

Cloudfront setup

但这不起作用,所以我假设我们在这里缺少一些基本的东西,比如 Cloudfront DNS 条目不能以这种方式使用?以下是我们在控制台中看到的内容:

Chrome console error

任何想法将不胜感激!

干杯。

【问题讨论】:

    标签: angular cookies amazon-cognito amazon-cloudfront aws-amplify


    【解决方案1】:

    我最近遇到了同样的问题,问题是您必须使用 cloudfront 为您生成的整个域。

    Amplify.configure({
      Auth: {
        region: environment.cognito_region,
        userPoolId: environment.cognito_user_pool_id,
        userPoolWebClientId: environment.cognito_user_pool_web_client_id,
        cookieStorage: {
            domain: '.xxxxxxxxx.cloudfront.net',
            secure: true
        },
      }
    });

    【讨论】:

      猜你喜欢
      • 2017-07-01
      • 2021-12-04
      • 2018-06-19
      • 2021-04-01
      • 2011-06-23
      • 2017-12-19
      • 2020-12-13
      • 1970-01-01
      • 2012-10-04
      相关资源
      最近更新 更多