Я использую Keycloak (последний) для Auth 2.0, чтобы проверить аутентификацию, предоставить токен (JWT) и с предоставленным токеном разрешить доступ к URL-адресам приложений на основе разрешений. Keycloak в настоящее время работает в Kubernates с Istio в качестве шлюза. Для Keycloak используется следующая политика:
apiVersion: authentication.istio.io/v1alpha1
kind: Policy
metadata:
name: application-auth-policy
spec:
targets:
- name: notification
origins:
- jwt:
issuer: http://<service_name>http.<namespace>.svc.cluster.local:8080/auth/realms/istio
jwksUri: http://<service_name>http.<namespace>.svc.cluster.local:8080/auth/realms/istio/protocol/openid-connect/certs
principalBinding: USE_ORIGIN
В этом Keycloak был зарегистрирован клиент, и для него был создан RSA. Эмитент может генерировать токен в обычном режиме, и политика была успешно применена.
Проблема:
Даже если все настроено, токен, предоставленный Keycloak, имеет недопустимую подпись в соответствии с JWT Validator.
Этот токен не разрешает доступ для URL-адресов, как это должно быть, с кодом 401.
У кого-нибудь еще была аналогичная проблема?