[ 
https://issues.apache.org/jira/browse/AMBER-61?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Antonio Sanso resolved AMBER-61.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 0.23
    
> Client defined HTTP headers in OAuthClientRequest
> -------------------------------------------------
>
>                 Key: AMBER-61
>                 URL: https://issues.apache.org/jira/browse/AMBER-61
>             Project: Amber
>          Issue Type: Bug
>          Components: OAuth 2.0 - Client
>    Affects Versions: 0.22
>            Reporter: Peter Turcsanyi
>            Assignee: Antonio Sanso
>              Labels: newbie
>             Fix For: 0.23
>
>
> HTTP headers added to OAuthClientRequest are not sent with the HTTP request.
> I would like to use HTTP Basic authentication at the token endpoint.
> So on the client side I add "Authorization" HTTP header to OAuthClientRequest 
> calling its setHeader() method.
> But headers set on the OAuthClientRequest object are not processed by 
> OAuthClient.accessToken() / URLConnectionClient.execute(), therefore they are 
> not sent to the authorization server.
> Or is there any other way to use HTTP Basic authentication between the client 
> and the token endpoint of the authorization server?
> The client code:
> {code}
> OAuthClientRequest tokenRequest = OAuthClientRequest
>         .tokenLocation("https://...";)
>         .setGrantType(GrantType.AUTHORIZATION_CODE)
>         .setClientId("...")
>         .setClientSecret("...")
>         .setRedirectURI("https://...";)
>         .setCode(authzCode)
>         .buildBodyMessage();
> if (tokenRequest.getHeaders() == null) {
>     tokenRequest.setHeaders(new HashMap<String, String>()); // nice-to-have 
> issue: it should be initialized inside OAuthClientRequest at creation time or 
> at first call of setHeader()
> }
> tokenRequest.setHeader("Authorization", "..."); // main issue: header never 
> used later
> OAuthClient oAuthClient = new OAuthClient(new URLConnectionClient());
> OAuthJSONAccessTokenResponse tokenResponse = 
> oAuthClient.accessToken(tokenRequest);
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to