我有一个.NET应用程序,它为我的应用程序添加了身份验证()和使用身份验证().使用Cognito对用户进行身份验证.

  services
            .AddAuthentication(options =>
            {
                options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
            })
            .AddJwtBearer(options =>
            {
                options.RequireHttpsMetadata = true;
                options.MapInboundClaims = false;
                options.Authority = _config.Cognito.Authority;
                options.MetadataAddress = _config.Cognito.Metadata;
                options.TokenValidationParameters = new TokenValidationParameters
                {
                    RoleClaimType = "cognito:groups",
                    NameClaimType = "username",
                    ValidateIssuer = true,
                    ValidateAudience = false,
                    RequireExpirationTime = false
                };
            });

当我从本地机器运行我的应用程序并附加到Cogito用户池时,它就像一个魔咒一样工作.

当我try 通过部署在ECS中的DNS名称连接到同一应用程序时,我总是面临以下问题:

System.InvalidOperationException: IDX20803: Unable to obtain configuration from: 'https://cognito-idp.eu-central-1.amazonaws.com/{userPoolId}/.well-known/openid-configuration'.

在我的ALB中,80和433个端口的所有IPv4地址都被列入白名单.如果能得到如何处理这个问题的方向,那将是令人惊叹的.

谢谢!

推荐答案

在我的ALB中,80和433个端口的所有IPv4地址都被列入白名单.

这个错误与你的白蛋白完全无关.您的服务器正在try 连接到该URL以下载OpenID配置数据.服务器正在发起到该URL的连接,这根本不涉及负载均衡器.负载均衡器只涉及传入连接及其响应,而不涉及传出连接.

由于该URL存在于VPC外部,因此需要通过以下两种方式之一配置ECS任务,以授予其对VPC外部资源的网络访问权限:

  • 开启公网IP地址,部署在公网VPC子网(具有通往公网网关的路由的子网)
  • 部署在私有VPC子网中,并具有通往NAT网关的路由(NAT网关需要位于公用子网中)

.net相关问答推荐

为什么.Net 8.0.100是预览版?

带有ASP.NET核心的Angular 项目模板.API试验

如何手动注入依赖注入

无法通过构建目标访问 dotnet 的环境变量

是否有任何为 C# 编写的模糊搜索或字符串相似函数库?

HttpClient 请求抛出 IOException

ICommand MVVM 实现

(C# 7.2)私有保护修饰符的用例是什么?

什么是 Hashtable 的通用版本?

C# 编译为 32/64 位,或任何 cpu?

Await 运算符只能在 Async 方法中使用

将字典值转换为数组

.NET 高级别的 .NET 4.0 和 .NET 4.5 的区别

如何在 C# 中使用迭代器反向读取文本文件

使用 C# vs F# 或 F# vs C# 有什么好处?

WPF 中的 Application.DoEvents() 在哪里?

如何重新启动我的 C# WinForm 应用程序?

我可以为 Dictionary 条目使用集合初始化程序吗?

如何在我的机器上找到 fuslogvw.exe?

SqlParameter 已被另一个 SqlParameterCollection 包含 - using() {} 作弊吗?