Keycloak выступает OpenID Connect/OAuth-провайдером. API на ASP.NET Core принимает access token и проверяет подпись, issuer, audience и срок действия, а затем применяет политики доступа.
Как в C# выглядит интеграция сервисов с поднятым Keycloak для поддержки авторизации?
Keycloak выступает OpenID Connect/OAuth-провайдером. API на ASP.NET Core принимает access token и проверяет подпись, issuer, audience и срок действия, а затем применяет политики доступа.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Keycloak выступает OpenID Connect/OAuth-провайдером. API на ASP.NET Core принимает access token и проверяет подпись, issuer, audience и срок действия, а затем применяет политики доступа.
В Keycloak настраивают realm, клиент, допустимые redirect URI, scopes и роли. Для API используют AddJwtBearer с Authority вида https://auth.example/realms/example и ожидаемой Audience; открытые ключи получают через discovery/JWKS.
Интерактивный вход веб-клиента строят через Authorization Code с PKCE, серверного web-приложения — с OIDC и cookie-сессией. Межсервисный вызов от имени сервиса может использовать Client Credentials. Не принимайте ID token вместо access token и не отключайте проверки ради устранения ошибки конфигурации. Роли Keycloak при необходимости явно отображают в claims и authorization policies.
Источник: www.keycloak.org, learn.microsoft.com.