ASP. Net Core Web API возвращает HTTP 504 (тайм-аут шлюза) после добавления авторизации через пул пользователей Cognito в AWS - PullRequest
2 голосов
/ 27 мая 2020

Я разработал базовый веб-API ASP. NET и опубликовал его в AWS Lambda. Я добавил авторизацию через пул пользователей Cognito. Но после добавления авторизации он всегда возвращает HTTP-код 504 Gateway Timeout с сообщением «Время ожидания запроса конечной точки истекло», когда я вызываю API с помощью почтальона. Но он отлично работает для локального хоста.

Используя AWS API Gateway, я добавил в API авторизатор. Все параметры, такие как идентификатор пула пользователей, идентификатор клиента приложения, регион и секрет клиента, в порядке.

Я добавил к контроллерам атрибут [Authorize] и, следуя, я добавил свой код в файл Startup.cs.

Помогите, пожалуйста, решить эту проблему.

 public void ConfigureServices(IServiceCollection services)
    {
        var region = Configuration["AWSCognito:Region"];
        var userPoolId = Configuration["AWSCognito:PoolId"];
        var appClientId = Configuration["AWSCognito:AppClientId"];
        var clientSecret = Configuration["AWSCognito:ClientSecret"];


        services.AddAuthentication("Bearer")
        .AddJwtBearer(options =>
        {
            options.Audience = appClientId;
            options.Authority = "https://cognito-idp." + region + ".amazonaws.com/" + userPoolId;
        });


        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

        // Add S3 to the ASP.NET Core dependency injection framework.
        services.AddAWSService<Amazon.S3.IAmazonS3>();
        services.AddSingleton<IShoppingListService, ShoppingListService>();
        services.AddSingleton<ICompanyService, CompanyService>();
        services.AddSingleton<ICompanyRepository, CompanyRepository>();
    }



    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
           app.UseHsts();
        }
        app.UseAuthentication();
        app.UseHttpsRedirection();
        app.UseMvc();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...