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:20 UTC
[jira] [Commented] (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 commented on OLTU-130:
------------------------------------
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)