请求发现底座时出错(需要 HTTPS)

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

我正在使用身份服务器 4。实际上它仍然工作正常,一切正常。然而当我尝试打电话时

var client = new HttpClient();
// discover endpoints from metadata
var disco = client.GetDiscoveryDocumentAsync(IDPBaseURL).Result;
it gives me error         
http://xxx.x.x.xx:8080/.well-known/openid-configuration: HTTPS required.

它可以在 Visual Studio 和本地 IIS 部署中运行。但是,我仅在服务器上部署时才遇到此错误。

有什么想法吗?

c# asp.net-core identityserver4 dotnet-httpclient
3个回答
41
投票

我遇到了同样的问题,并通过更改发现文档请求的策略来解决它。

var client = new HttpClient();
var disco = await client.GetDiscoveryDocumentAsync(new DiscoveryDocumentRequest {
    Address = "http://xxx.xxx.x.xxx:xxxx",
    Policy =
    {
        RequireHttps = false
    }
});

0
投票

加载发现文档时出错:连接到 https://replace-from-key-vault/.well-known/openid-configuration 时出错。发送请求时发生错误..

操作:9c656d4d-c137-4ea7-aad4-19b956f7cec0


-1
投票

http://xxx.x.x.xx:8080/.well-known/openid-configuration:需要 HTTPS。

出现错误状态时,请确保将

IDPBaseURL
设置为 https。

示例

var client = new HttpClient();
var disco = client.GetDiscoveryDocumentAsync("https://xxx.x.x.xx").Result;
© www.soinside.com 2019 - 2024. All rights reserved.