Подключаю Keycloak к .net приложению, столкнулся с такой проблемой:
Keycloak поднимается в контейнере, сервис, который валидирует токен, тоже в контейнере и когда сервис проверяет issuer, пишет такой ответ: The issuer '
localhost:10001/realms/keycloak-auth' is invalid.
Если сервис поднять локально, то все будет ок.
Проверяю Auth через либу Keycloak.AuthServices.Authentication:
builder.Services.AddKeycloakWebApiAuthentication(builder.Configuration);
builder.Services.AddAuthorization();
Конфигурация, для Auth:
"Keycloak": {
"Realm": "keycloak-auth",
"AuthServerUrl": "http://localhost:10001/",
"SslRequired": "none",
"Resource": "posts-client",
"PublicClient": true,
"ConfidentialPort": 10001,
"VerifyTokenAudience": false
}
Ну и keycloak поднимается через docker-compose так:
keycloak:
container_name: keycloak
image: quay.io/keycloak/keycloak:26.0.0
command: start-dev
environment:
- KC_HEALTH_ENABLE=true
- KEYCLOAK_ADMIN=admin
- KEYCLOAK_ADMIN_PASSWORD=passwd
- KC_HTTP_PORT=10001
volumes:
- ./.containers/identity:/opt/keycloak/data
ports:
- "10001:10001"