Я пытаюсь настроить правила аутентификации istio JWT с помощью keycloak для ряда сервисов, которые я разместил на EKS. Я думал, что все работает, пока не попытался получить доступ к пользовательскому интерфейсу администратора keycloak, который выдает мне ошибку 401 при попытке совершить вызов в такие места, как локализация/en, которые требуют использования заголовка основных областей. Я подумал, что, возможно, мне нужно добавить главное царство в правила jwt, поэтому я это сделал, но мне все еще не везет.
apiVersion: security.istio.io/v1beta1
kind: RequestAuthentication
metadata:
name: keycloak-request-authentication
namespace: istio-system
spec:
selector:
matchLabels:
app: istio-ingressgateway
jwtRules:
- issuer: http://auth.platform.com/auth/realms/other
jwksUri: http://auth.platform.com/auth/realms/other/protocol/openid-connect/certs
- issuer: http://auth.platform.com/auth/realms/master
jwksUri: http://auth.platform.com/auth/realms/master/protocol/openid-connect/certs
Я использую keycloakx версии 2.3.0, и точная ошибка выглядит так:
Error: Network response was not OK.
at fetchWithError (http://auth.platform.com/auth/resources/6jpo1/admin/keycloak.v2/assets/index-8a79a090.js:67:121366)
at async Agent.requestWithParams (http://auth.platform.com/auth/resources/6jpo1/admin/keycloak.v2/assets/index-8a79a090.js:67:124011
После добавления главной области в мой RequestAuthentication аутентификация работает хорошо со всеми другими службами, кажется, что с keycloak происходит что-то странное, что приводит к отклонению JWT.
Любая помощь приветствуется. Спасибо.
Он отправит пустой заголовок аутентификации в keycloak, вам необходимо убедиться, что исходный токен пересылается вместе с запросом.
- issuer: http://auth.platform.com/auth/realms/master
jwksUri: http://auth.platform.com/auth/realms/master/protocol/openid-connect/certs
forwardOriginalToken: true