Интеграция более старого ASP. NET серверного приложения в ADFS для аутентификации, что означает, что мне практически все пришлось писать с нуля. все работает (/ authorize, / token) вплоть до вызова / userinfo.
Мой код, в двух словах -
HttpClient client = new HttpClient();
var req = new HttpRequestMessage {
RequestUri = new Url("https://<server_ip>/adfs/oauth2/userinfo"),
Method = HttpMethod.Get,
};
req.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token.AccessToken);
req.Headers.UserAgent.Clear();
req.Headers.UserAgent.Add(new ProductInfoHeaderValue("OldApp", "11.3.0"));
var result = await client.SendAsync(req);
В результате возникает ошибка HTTP 405 - Метод не разрешен , Выполняя поиск в Интернете, я вижу это как распространенную проблему, когда конечный "/" не включен в URL, но Я получаю тот же результат с конечным sla * sh.
После осмотра, есть много примеров, которые используют более новые библиотеки и такие, которые я не могу использовать, к сожалению. Никто не упоминает использование / userinfo, и я думаю, что проблема не обязательно в том, как я называю URL, а в конфигурации «группы приложений» в ADFS.