You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oltu.apache.org by "Antonio Sanso (JIRA)" <ji...@apache.org> on 2014/03/26 10:23:22 UTC

[jira] [Comment Edited] (OLTU-130) [Doc] POST to resource server with authentication

    [ https://issues.apache.org/jira/browse/OLTU-130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13947710#comment-13947710 ] 

Antonio Sanso edited comment on OLTU-130 at 3/26/14 9:22 AM:
-------------------------------------------------------------

bq. Could you add that to the client example?

done and thanks for reporting. 


was (Author: asanso):
done and thanks for reporting. 

> [Doc] POST to resource server with authentication
> -------------------------------------------------
>
>                 Key: OLTU-130
>                 URL: https://issues.apache.org/jira/browse/OLTU-130
>             Project: Apache Oltu
>          Issue Type: Task
>          Components: oauth2-client
>    Affects Versions: oauth2-0.31
>            Reporter: Christian
>            Assignee: Antonio Sanso
>              Labels: documentaion
>
> There seems to be no feature to post a resource to the server with authentication. But that's something almost every application needs. Below you'll find my current solution. 
> I would provide a patch, but I find the client code very confusing (nested classes in OAuthClientRequest; inconsistent naming of OAuthRequestBuilder and subclass OAuthBearerClientRequest; overengineered OAuthParametersApplier and its subclasses).
>  
> Best regards,
> Christian
>   
> {code:title=OAuthBearerClientPostRequest.java|borderStyle=solid}
> package org.apache.oltu.oauth2.client.request;
> import org.apache.oltu.oauth2.client.request.OAuthBearerClientRequest;
> import org.apache.oltu.oauth2.client.request.OAuthClientRequest;
> import org.apache.oltu.oauth2.common.OAuth;
> import org.apache.oltu.oauth2.common.exception.OAuthSystemException;
> class OAuthBearerClientPostRequest extends OAuthBearerClientRequest {
>     private String contentType;
>     private String body;
>     protected OAuthBearerClientPostRequest(String url) {
>         super(url);
>     }
>     // Override to get the interface of this subclass.
>     @Override
>     public OAuthBearerClientPostRequest setAccessToken(String accessToken) {
>         super.setAccessToken(accessToken);
>         return this;
>     }
>     public OAuthBearerClientPostRequest setContentType(String contentType) {
>         this.contentType = contentType;
>         return this;
>     }
>     public OAuthBearerClientPostRequest setBody(String body) {
>         this.body = body;
>         return this;
>     }
>     public OAuthClientRequest buildHeaderMessage() throws OAuthSystemException {
>         OAuthClientRequest request = super.buildHeaderMessage();
>         request.setBody(this.body);
>         request.setHeader(OAuth.HeaderType.CONTENT_TYPE, this.contentType);
>         return request;
>     }
>     /**
>      * Not supported. Use #buildHeaderMessage() instead.
>      *
>      * @throws UnsupportedOperationException always
>      */
>     public OAuthClientRequest buildQueryMessage() throws OAuthSystemException {
>         throw new UnsupportedOperationException("Not supported. Use #buildHeaderMessage() instead.");
>     }
>     /**
>      * Not supported. Use #buildHeaderMessage() instead.
>      *
>      * @throws UnsupportedOperationException always
>      */
>     public OAuthClientRequest buildBodyMessage() throws OAuthSystemException {
>         throw new UnsupportedOperationException("Not supported. Use #buildHeaderMessage() instead.");
>     }
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)