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

Faw*_*iqi 3 c# dotnet-httpclient asp.net-core identityserver4

我正在使用身份服务器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.
Run Code Online (Sandbox Code Playgroud)

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

任何的想法?

小智 8

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

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


DaI*_*mTo -1

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

由于错误状态,请确保IDPBaseURL将其设置为 Https。

例子

var client = new HttpClient();
var disco = client.GetDiscoveryDocumentAsync("https://xxx.x.x.xx").Result;
Run Code Online (Sandbox Code Playgroud)