Hey Knox team…

I am curious about the location of the doAs indicator in the forwarded request 
from Knox.  Why is this a query parameter and not a request header, like 
“X-DoAs”?

Some infrastructures do not play well when trying to parse the query parameters 
in authentication filters (for example Spring).  I have worked around my issue, 
but in the infrastructure that I am using if you attempt to call 
httpServletRequest.getParameter("doAs") in the authentication filter, the query 
parameters and request body get eaten and appear to no longer be available to 
the request handler code.

Aside from that, it seems like it would be more secure if the doAS value was in 
the request header instead.   For example it is encrypted when using SSL.

Can someone explain the reasoning behind placing doAs as a query parameter?    
Is there any reason why it could not be a request header, aside from existing 
code?  Would it be possible for Knox to conditionally set the doAs value as a 
query parameter or in the header based on some metadata about the service or 
topology?

Thanks,

Rob

Reply via email to