У меня есть этот код
class Program
{
static async Task Main(string[] args)
{
HttpClient Client = new HttpClient();
var disco = await Client.GetDiscoveryDocumentAsync("https://intranet.mycompany.com/");
if (disco.IsError)
{
Console.WriteLine(disco.Error);
return;
}
// request token
var tokenResponse = await Client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
{
Address = disco.TokenEndpoint,
ClientId = "Console",
ClientSecret = "secret",
Scope = "dev_api",
});
if (tokenResponse.IsError)
{
Console.WriteLine(tokenResponse.Error);
return;
}
Console.WriteLine(tokenResponse.Json);
Console.WriteLine("\n\n");
}
}
Мы просто настроили intranet.mycompany.com на etc / host для обслуживания локального IP-адреса и настроили самозаверяющий сертификат. GetDiscoveryDocumentAsync работает нормально, он подключается к IdentityServer, но RequestClientCredentialsTokenAsync возвращает BAD REQUEST
{StatusCode: 400, ReasonPhrase: 'Bad Request', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{Cache-Control: без кэширования Pragma: без кэширования Transfer-Encoding: chunked Сервер: Microsoft-IIS / 10.0 Дата:Понедельник, 14 октября 2019 15:31:42 GMT Истекает: -1}}
Есть ли какие-либо рекомендации о том, как настроить идентификационный сервер 4 .core 3 в локальной сети по IP-адресу с самозаверяющим сертификатом? Я хочу создать демонстрационную инфраструктуру вне локального хоста для наших клиентов, чтобы впоследствии мы могли публиковать ее на сайте клиента.