Sébastien Caille created HTTPCLIENT-1748:
--------------------------------------------
Summary: When run in java applet, SystemDefaultCredentialsProvider
fails to get authentication from Authenticator
Key: HTTPCLIENT-1748
URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1748
Project: HttpComponents HttpClient
Issue Type: Bug
Components: HttpClient
Affects Versions: 4.5
Environment: Windows, application running in a java applet started by
firefox, connection to a remote server via a squid proxy with basic
authentication
Reporter: Sébastien Caille
Priority: Trivial
Hello,
The java applets are deprecated, but the issue may impact other use cases.
During a POST call made from a java applet via a proxy server with basic
authentication, SystemDefaultCredentialsProvider.getSystemCreds(...) calls
Authenticator.requestPasswordAuthentication, which wrongly returns "null"
authentication.
The java applet console shows that a NullPointerException was ignored.
I managed to fix the issue by providing the following values to
Authenticator.requestPasswordAuthentication (getSystemCreds is currently
providing null for those ones ):
prompt = authscope.getRealm()
url = context.getAttribute(HttpClientContext.HTTP_TARGET_HOST)
Both values are needed ( prompt == null && url != null -> dialog box asking for
credentials, prompt != null && url == null -> crashes firefox)
Note that when downloading the applet jar files, the java is providing values
for all the parameters of Authenticator.requestPasswordAuthentication
(according to a breakpoint in requestPasswordAuthentication).
Thanks
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]