Identity Server 4 размещен в моем сервисе.Он предоставляет различные конечные точки, и я хотел бы получить доступ к token
конечной точке из одной и той же службы.Он не предоставляет никакого интерфейса, поэтому я мог бы внедрить его как зависимость, поэтому мне нужно сделать http-запрос.
Теперь я установил URL-адреса HttpClient
следующим образом:
var req = _contextAcessor.HttpContext.Request;
var baseAddr = $"{req.Scheme}://{req.Host}";
client.BaseAddress = new Uri(baseAddr);
var addr = _urlHelperProvider.GetUrlHelper().Content("~/connect/token");
Мне это не нравится, потому что здесь localhost
даже не используется.Но служба может быть связана с другим портом на локальном хосте, и я не знаю, как получить список URL-адресов, переданных методу UseUrls
.
В идеале, я хотел бы иметьэкземпляр клиента, связанный с моим сервисом, аналогичен тому, как он работает с методом WebApplicationFactory.CreateClient
.