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