无法从项目中检索文档:“https://localhost:5005/.well-known/openid-configuration”

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

我在.Net Core 3.1上创建了一个微服务。我使用 Identityserver4 作为 IDPClient。该项目在当地运行良好。在对项目进行 docker 化(Docker-compose)并从 MVC 客户端应用程序调用 Identityserver 后,它会抛出 无法从以下位置检索文档:'https://localhost:5005/.well-known/openid-configuration'

MVC应用程序启动代码

 services.AddAuthentication(options =>
        {
            options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
        })
            .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme)
            .AddOpenIdConnect(OpenIdConnectDefaults.AuthenticationScheme, options =>
            {
                options.Authority = "https://localhost:5005/";
                options.ClientId = "taxationclient_presentation";
                options.ClientSecret = "secret";
                options.ResponseType = "code";
                options.Scope.Add("openid");
                options.Scope.Add("profile");
                options.SaveTokens = true;
                options.GetClaimsFromUserInfoEndpoint = true;
            });
            
c# docker .net-core microservices identityserver4
1个回答
0
投票

要使其正常工作,您首先需要确保容器内的 Localhost 具有有效的 HTTPS TLS 证书。其次,您确定应用程序实际上正在侦听端口 5001 还是 443?通常在 Visual Studio 中本地有 5001,但在生产中它会更改为端口 443。

我还在博客中详细介绍了如何做到这一点:Docker 容器中的 IdentityServer – 第 1 部分

© www.soinside.com 2019 - 2024. All rights reserved.