Пользовательский интерфейс администратора Keycloak с istio RequestAuthentication

Я пытаюсь настроить правила аутентификации 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.

Любая помощь приветствуется. Спасибо.

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
0
0
118
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Он отправит пустой заголовок аутентификации в keycloak, вам необходимо убедиться, что исходный токен пересылается вместе с запросом.

  - issuer: http://auth.platform.com/auth/realms/master
  jwksUri: http://auth.platform.com/auth/realms/master/protocol/openid-connect/certs
  forwardOriginalToken: true

Другие вопросы по теме