hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Moore, Jonathan" <Jonathan_Mo...@Comcast.com>
Subject Re: OAuth support for HTTPCient
Date Tue, 01 Feb 2011 14:41:58 GMT
Hi Robert,

Yes, sorry. The "client" is an instance of HttpClient (e.g.
DefaultHttpClient).

Cheers,
Jon
........
Jon Moore
Comcast Interactive Media






On 2/1/11 1:01 AM, "Robert Stagner" <restagner@gmail.com> wrote:

>Hi Jon,
>
>That is music to my ears!  I assume that the "client" referred to in your
>example
>
>client.addRequestInterceptor(oauthInterceptor, 0);
>
>points to an instance of HTTPClient. Would that be an accurate statement?
>
>
>On Mon, Jan 31, 2011 at 10:48 AM, Moore, Jonathan <
>Jonathan_Moore@comcast.com> wrote:
>
>> Hi Robert,
>>
>> As it turns out, you can. You will want to use the "oauth-httpclient4"
>> library available here:
>> http://code.google.com/p/oauth/
>>
>> If you are a Maven user, we use the following dependency:
>>
>> <dependency>
>>     <groupId>net.oauth.core</groupId>
>>     <artifactId>oauth-httpclient4</artifactId>
>>     <version>20090913</version>
>>     <type>jar</type>
>>     <scope>compile</scope>
>> </dependency>
>>
>>
>> The trick is to add a request interceptor to your HttpClient (code
>> included further down):
>>
>> OAuthCredentials creds = new OAuthCredentials(consumer,secret);
>> HttpRequestInterceptor oauthInterceptor = new OAuthInterceptor(creds);
>> client.addRequestInterceptor(oauthInterceptor, 0);
>>
>>
>> Here's the code for OAuthInterceptor.java:
>>
>>
>> import java.io.IOException;
>>
>> import net.oauth.client.httpclient4.OAuthCredentials;
>> import net.oauth.client.httpclient4.OAuthSchemeFactory;
>>
>> import org.apache.http.HttpException;
>> import org.apache.http.HttpRequest;
>> import org.apache.http.HttpRequestInterceptor;
>> import org.apache.http.auth.AuthScheme;
>> import org.apache.http.auth.AuthState;
>> import org.apache.http.auth.Credentials;
>> import org.apache.http.client.protocol.ClientContext;
>> import org.apache.http.params.BasicHttpParams;
>> import org.apache.http.protocol.HttpContext;
>>
>> /**
>>  * An {@link HttpRequestInterceptor} that adds OAuth credentials to
>> requests
>>  * that are passed to it. An instance of this class is associated with a
>>  * particular OAuth credential.
>>  */public class OAuthInterceptor implements HttpRequestInterceptor {
>>
>>     private final OAuthCredentials credentials;
>>     /**
>>      * Creates an {@link OAuthInterceptor} using the given credentials.
>>      * @param credentials The OAuth credentials to add to HTTP requests
>>      */
>>     public OAuthInterceptor(OAuthCredentials credentials) {
>>          this.credentials = credentials;
>>     }
>>
>>     public void process(HttpRequest request, HttpContext context)
>>               throws HttpException, IOException {
>>             AuthState authState = (AuthState)
>> context.getAttribute(ClientContext.TARGET_AUTH_STATE);
>>             if (authState != null && authState.getAuthScheme() == null)
>>{
>>                 AuthScheme scheme = new
>>OAuthSchemeFactory().newInstance(
>>                      new BasicHttpParams());
>>                 Credentials cred = credentials;
>>                  authState.setAuthScheme(scheme);
>>                  authState.setCredentials(cred);
>>             }
>>        }
>> }
>>
>>
>> ........
>> Jon Moore
>> Comcast Interactive Media
>>
>>
>>
>>
>>
>>
>> On 1/31/11 12:14 PM, "Robert Stagner" <restagner@gmail.com> wrote:
>>
>> >Hi,
>> >
>> >I'm new to the list, and we've just begun testing a RESTful application
>> >that
>> >uses OAuth for its authentication.  I see from the features supported
>>by
>> >HTTPClient that OAuth is not on the list
>> >
>> >Basic, Digest, NTLMv1, NTLMv2, NTLM2 Session, SNPNEGO/Kerberos
>> >authentication schemes.
>> >
>> >Is there a way to support OAuth within HTTPClient?
>> >
>> >--
>> >Regards,
>> >Robert
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
>> For additional commands, e-mail: httpclient-users-help@hc.apache.org
>>
>>
>
>
>-- 
>Regards,
>Robert


---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org


Mime
View raw message