As Koraktor mentioned, the SunJaasKerberosTicketValidator class contains information that is equivalent to a JAAS configuration file. However, the SunJaasKerberosTicketValidator isInitiator flag isInitiator set to false. This causes context.getCredDeleg() return false and you cannot delegate credentials. I did a POC where my observation isInitiator delegation / forwarding only if isInitiator set to true.
I solved this problem by writing my own TicketValidator , all of the SunJaasKerberosTicketValidator preserved as it is, except that I changed the isInitiator flag entry to options.put("isInitiator", "true");
source share