Hey Dimas,

I forked your project and I tested it out. It does *not* seem to 
automatically add an Authorization header to the request:

0:0:0:0:0:0:0:1 - - [02/Nov/2018:17:25:12 +0000] "GET /check-greeting 
HTTP/1.1" 200 29 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36" 
1229
0:0:0:0:0:0:0:1 - - [02/Nov/2018:17:25:12 +0000] "GET /favicon.ico 
HTTP/1.1" 404 43 "http://localhost:8080/check-greeting"; "Mozilla/5.0 
(Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) 
Chrome/70.0.3538.67 Safari/537.36" 5
DEBUG [2018-11-02 17:25:17,917] tech.dimas.example.client.GreetingClient: 
Request Line: GET https://dw-basic-auth-example.herokuapp.com/greeting 
HTTP/1.1
DEBUG [2018-11-02 17:25:17,917] tech.dimas.example.client.GreetingClient: 
Config: null
DEBUG [2018-11-02 17:25:17,917] tech.dimas.example.client.GreetingClient: 
URI: https://dw-basic-auth-example.herokuapp.com/greeting
DEBUG [2018-11-02 17:25:17,917] tech.dimas.example.client.GreetingClient: 
Protocol Version: HTTP/1.1
DEBUG [2018-11-02 17:25:17,917] tech.dimas.example.client.GreetingClient: 
Headers: []
0:0:0:0:0:0:0:1 - - [02/Nov/2018:17:25:18 +0000] "GET /check-greeting 
HTTP/1.1" 200 29 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36" 
178


Though the authentication still seems to be processed successfully. That 
helps answer my question about whether the Authorization is suppose to be 
auto-added.

On Wednesday, October 31, 2018 at 10:57:45 AM UTC-4, [email protected] 
wrote:
>
> Thanks, I'll look at that. I appreciate the responses, thanks Dimas.
>
> On Friday, October 26, 2018 at 1:08:35 AM UTC-4, Dimas Guardado wrote:
>>
>> I'm not sure if there's an existing example out there, but I created a 
>> quick-and-dirty example here:
>>
>> https://github.com/dguardado/dw-http-client-example
>>
>> Let me know if you have any questions!
>>
>> On Wednesday, October 24, 2018 at 7:43:20 AM UTC-7, [email protected] 
>> wrote:
>>>
>>> Same result without the header being manually defined. I get a 401 
>>> status code in the response.
>>>
>>> This is what I have in my config file now:
>>>
>>> url: https://host.com/api/
>>> host: 'host.com'
>>> port: 443
>>> username: 'username'
>>> password: 'password'
>>> authScheme: Basic
>>> httpClient:
>>>   timeout: 3s
>>>   connectionTimeout: 3s
>>>
>>>
>>>
>>>
>>> This is how I use data from the configuration file in the *run* function 
>>> to setup BaseAuthentication:
>>>
>>> UsernamePasswordCredentials userCreds = new 
>>> UsernamePasswordCredentials(config.getUsername(), config.getPassword());
>>>
>>>
>>> CredentialsProvider credsProvider = new BasicCredentialsProvider();
>>> credsProvider.setCredentials(
>>>         new AuthScope(config.getHost(), config.getPort(), null, 
>>> config.getAuthScheme()),
>>>         userCreds);
>>>
>>> final HttpClient apiHttpClient = new HttpClientBuilder(env)
>>>         .using(config.getHttpClient()) // returns a HttpClientConfiguration 
>>> object
>>>         .using(credsProvider)
>>>         .build("networks-client");
>>>
>>> NetworksClient fwdNetworksClient = new NetworksClient(apiHttpClient, 
>>> config.getUrl());
>>>
>>>
>>> Is there a working example that sets up Basic Authentication for a 
>>> DropWizard client and then makes a request that automatically has the 
>>> authorization header set?
>>>
>>> On Tuesday, October 23, 2018 at 1:56:43 PM UTC-4, [email protected] 
>>> wrote:
>>>>
>>>> I'll give it a shot!
>>>>
>>>> On Tuesday, October 23, 2018 at 12:38:58 PM UTC-4, Dimas Guardado wrote:
>>>>>
>>>>> What happens if you try removing the proxy configuration altogether? 
>>>>> Your curl command seems to work fine without a proxy (unless you have 
>>>>> that 
>>>>> configured elsewhere). If you're only using the proxy config so you can 
>>>>> pass host/port values to your auth scope, and you're not intending to 
>>>>> proxy 
>>>>> your requests through a proxy server, you may end up with a misconfigured 
>>>>> client.
>>>>>
>>>>> On Monday, October 22, 2018 at 4:14:29 PM UTC-7, [email protected] 
>>>>> wrote:
>>>>>>
>>>>>> I can use curl successfully to get a response from the vendor's API 
>>>>>> as seen below.
>>>>>>
>>>>>> I would like to have my DropWizard client do the same thing, use the 
>>>>>> username and password to define the Authorization header's value. Set 
>>>>>> the 
>>>>>> Authorization Header, use SSL, and use HTTP/2
>>>>>>
>>>>>> curl --user 'username:password' -k "https://host.com/api/networks"; 
>>>>>>>> -H "accept: application/json" --verbose
>>>>>>>
>>>>>>> *   Trying 32.270.19.44...
>>>>>>>
>>>>>>> * TCP_NODELAY set
>>>>>>>
>>>>>>> * Connected to host.com (32.270.19.44) port 443 (#0)
>>>>>>>
>>>>>>> * ALPN, offering h2
>>>>>>>
>>>>>>> * ALPN, offering http/1.1
>>>>>>>
>>>>>>> * Cipher selection: 
>>>>>>>> ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
>>>>>>>
>>>>>>> * successfully set certificate verify locations:
>>>>>>>
>>>>>>> *   CAfile: /etc/ssl/cert.pem
>>>>>>>
>>>>>>>   CApath: none
>>>>>>>
>>>>>>> * TLSv1.2 (OUT), TLS handshake, Client hello (1):
>>>>>>>
>>>>>>> * TLSv1.2 (IN), TLS handshake, Server hello (2):
>>>>>>>
>>>>>>> * TLSv1.2 (IN), TLS handshake, Certificate (11):
>>>>>>>
>>>>>>> * TLSv1.2 (IN), TLS handshake, Server key exchange (12):
>>>>>>>
>>>>>>> * TLSv1.2 (IN), TLS handshake, Server finished (14):
>>>>>>>
>>>>>>> * TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
>>>>>>>
>>>>>>> * TLSv1.2 (OUT), TLS change cipher, Client hello (1):
>>>>>>>
>>>>>>> * TLSv1.2 (OUT), TLS handshake, Finished (20):
>>>>>>>
>>>>>>> * TLSv1.2 (IN), TLS change cipher, Client hello (1):
>>>>>>>
>>>>>>> * TLSv1.2 (IN), TLS handshake, Finished (20):
>>>>>>>
>>>>>>> * SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
>>>>>>>
>>>>>>> * ALPN, server accepted to use h2
>>>>>>>
>>>>>>> * Server certificate:
>>>>>>>
>>>>>>> *  subject: CN=host.com
>>>>>>>
>>>>>>> *  start date: Jun  3 00:00:00 2018 GMT
>>>>>>>
>>>>>>> *  expire date: Jul  3 12:00:00 2019 GMT
>>>>>>>
>>>>>>> *  issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
>>>>>>>
>>>>>>> *  SSL certificate verify ok.
>>>>>>>
>>>>>>> * Using HTTP2, server supports multi-use
>>>>>>>
>>>>>>> * Connection state changed (HTTP/2 confirmed)
>>>>>>>
>>>>>>> * Copying HTTP/2 data in stream buffer to connection buffer after 
>>>>>>>> upgrade: len=0
>>>>>>>
>>>>>>> * Server auth using Basic with user 'username'
>>>>>>>
>>>>>>> * Using Stream ID: 1 (easy handle 0x7ff1c200a400)
>>>>>>>
>>>>>>> > GET /api/networks HTTP/2
>>>>>>>
>>>>>>> > Host: fwd.app
>>>>>>>
>>>>>>> > Authorization: Basic bNWtYUhvbl3qb2huGQJhaC5jb206UcIqbSpRSoghIQ==
>>>>>>>
>>>>>>> > User-Agent: curl/7.54.0
>>>>>>>
>>>>>>> > accept: application/json
>>>>>>>
>>>>>>> >
>>>>>>>
>>>>>>> RESPONSE: 
>>>>>>
>>>>>>> * Connection state changed (MAX_CONCURRENT_STREAMS updated)!
>>>>>>>
>>>>>>> < HTTP/2 200
>>>>>>>
>>>>>>> < date: Mon, 22 Oct 2018 23:05:59 GMT
>>>>>>>
>>>>>>> < content-type: application/json;charset=utf-8
>>>>>>>
>>>>>>> < set-cookie: 
>>>>>>>> AWSALB=Ri8qyaECWXb2r8xTbFLAbG+pUXkAQr8gGTZiqfnpUl94pzHwF81jPMTfbEhp4oE58uVeeZi4gMkS7jyiELKiup+ouQCdzzRSygg+DSLSHG6/qL9sI2M;
>>>>>>>>  
>>>>>>>> Expires=Mon, 29 Oct 2018 23:05:59 GMT; Path=/
>>>>>>>
>>>>>>> < x-content-type-options: nosniff
>>>>>>>
>>>>>>> < x-xss-protection: 1; mode=block
>>>>>>>
>>>>>>> < cache-control: no-cache, no-store, max-age=0, must-revalidate
>>>>>>>
>>>>>>> < pragma: no-cache
>>>>>>>
>>>>>>> < expires: 0
>>>>>>>
>>>>>>> < strict-transport-security: max-age=31536000 ; includeSubDomains
>>>>>>>
>>>>>>> < x-frame-options: DENY
>>>>>>>
>>>>>>> < vary: Accept-Encoding, User-Agent
>>>>>>>
>>>>>>> < server: Jetty(9.4.z-SNAPSHOT)
>>>>>>>
>>>>>>> <
>>>>>>>
>>>>>>> * Connection #0 to host host.com left intact
>>>>>>>
>>>>>>> [{"id":"2275","name":"demo","orgId":"992","creatorId":"2050"}]
>>>>>>>
>>>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"dropwizard-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to