Josh Elser created CALCITE-1915:
-----------------------------------

             Summary: Workaround Jetty SpnegoAuthenticator bug where no 
challenge is sent
                 Key: CALCITE-1915
                 URL: https://issues.apache.org/jira/browse/CALCITE-1915
             Project: Calcite
          Issue Type: Bug
          Components: avatica
            Reporter: Josh Elser
            Assignee: Josh Elser
             Fix For: avatica-1.11.0


I stumbled across what I think is a bug in Jetty per the RFC-7616. The RFC 
reads (to me) as the following:

When a client sends an authorization header that is not capable of being used 
to authenticate via SPNEGO, the server should send back the WWW-Authentication: 
Negotiate HTTP header with a status code of HTTP/401. Jetty will only send this 
challenge+401 when *no* Authorization header is provided.

In the case where Avatica is sitting behind a reverse-proxy, the proxy _may_ 
choose to pass along another authorization header. Jetty (and Avatica) should 
still respond to say "You need to authenticate over SPNEGO".

At least Jetty dev seems to agree with my assessment: 
https://github.com/eclipse/jetty.project/issues/1698. We can easily work around 
this in Avatica while we wait to get a Jetty release which has this fixed.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to