В предшествующей статье я рассказал, как дополнил код сервиса ASP.NET Core 8 Web API, чтобы выполнялась авторизация по предоставленному токену доступа (JWT). Теперь посмотрим, как в обычном приложении .NET Core можно подключиться к Keycloak и раздобыть эти самые токены. Использовать буду библиотеку Duende.IdentityModel из одноименного NuGet-пакета. Странно, но альтернатив для C# / .NET Core на данный момент вроде как и нет. По крайней мере, для OpenID Connect - не нашел. Итак. Скопировал этот класс откуда-то из документации, но забыл откуда: public static class DangerousHttpClientFactory
{
public static HttpClient Create()
{
HttpClientHandler handler = new();
handler.ServerCertificateCustomValidationCallback = (_, _, _, _) => true; // Not a best way to create an HttpClient instance, check the official guidelines instead: // https://learn.microsoft.com/en-us/dotnet/fundamentals/networking/http/httpclient-guidelines
return new HttpClient(handler);