使用docker时授权不使用IdentityServer 4

使用docker时授权不使用IdentityServer 4,docker,asp.net-web-api,.net-core,jwt,identityserver4,Docker,Asp.net Web Api,.net Core,Jwt,Identityserver4,我有一个.net核心web api应用程序,配置为使用IdentityServer 4 当地一切正常 其中一个web api方法包含[Authorize]属性,在本地运行时可以正常工作。 但是当使用“docker”并使用带有身份验证承载的postman调用api方法时,我得到了“500内部服务器错误” 我在CORS的web api中有此配置 services.AddCors(); app.UseCors(policy => { policy.AllowAnyHeader();

我有一个.net核心web api应用程序,配置为使用IdentityServer 4

当地一切正常

其中一个web api方法包含[Authorize]属性,在本地运行时可以正常工作。 但是当使用“docker”并使用带有身份验证承载的postman调用api方法时,我得到了“500内部服务器错误”

我在CORS的web api中有此配置

services.AddCors();

app.UseCors(policy =>
{
    policy.AllowAnyHeader();
    policy.AllowAnyMethod();
    policy.AllowAnyOrigin();
});

我与docker有类似的问题,在我的案例中,原因是,在docker环境中,identityserver无法通过与本地相同的url访问(请注意,docker容器中的“localhost”指向容器本身)

我与docker有类似的问题,在我的案例中,原因是,在docker环境中,无法通过与本地相同的url访问identityserver(请注意,docker容器中的“localhost”指向容器本身)

非常感谢您的回答,我刚刚找到了这个答案。看起来docker和主机之间的网络连接不同。再次感谢您的回答。顺便问一下,您是如何将identityserver对接的?我对此有意见。你是什么意思?我刚刚通过vs2017添加了docker支持,并稍微调整了生成的docker compose文件,使其具有指定的端口和主机名。我必须确保主机名与实际可访问的域相同,然后才能正常工作。那么docker compose中的所有应用程序都应该能够使用IdentityServer进行身份验证非常感谢您的回答,我刚刚找到了这个答案。看起来docker和主机之间的网络连接不同。再次感谢您的回答。顺便问一下,您是如何将identityserver对接的?我对此有意见。你是什么意思?我刚刚通过vs2017添加了docker支持,并稍微调整了生成的docker compose文件,使其具有指定的端口和主机名。我必须确保主机名与实际可访问的域相同,然后才能正常工作。那么docker compose中的所有应用程序都应该能够使用identityserver进行身份验证