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

Constantin Mitocaru commented on OLTU-170:
------------------------------------------

Ok, I need to buy a vowel:
I ran the exact same code I have in my filter (the one that doesn't work) in 
this command prompt app and it worked.


{code}

                final UUID uuid = UUID.randomUUID();
                String state = uuid.toString();
                OAuthClientRequest oreq = OAuthClientRequest
                                   
.authorizationProvider(OAuthProviderType.LINKEDIN)
                                   
.setClientId(resources.getString("in.app-key"))
                                   
.setRedirectURI("http://localhost:8084/protogy/login/login.jsp";)
                                   .setResponseType("code")
                                   .setScope("r_emailaddress")
                                   .setState(state)
                                   .buildQueryMessage();
                String uri = oreq.getLocationUri();
                System.out.println( "Place this uri in browser and get the code 
back here" );
                System.out.println( uri );
                
                Scanner keyboard = new Scanner(System.in);
                System.out.println("enter an code from browser:");
                String code = keyboard.nextLine();
                keyboard.close();
                
                OAuthClientRequest request = OAuthClientRequest
                .tokenProvider(OAuthProviderType.LINKEDIN)
                .setGrantType(GrantType.AUTHORIZATION_CODE)
                .setClientId(resources.getString("in.app-key"))
                .setClientSecret(resources.getString("in.app-secret"))
                .setRedirectURI("http://localhost:8084/protogy/login/login.jsp";)
                .setCode(code)
                .buildQueryMessage();
                uri = request.getLocationUri();
                System.out.println("IN.uri.auth_token="+uri);
                /* This is currently a bug*/ 
                OAuthClient oAuthClient = new OAuthClient(new 
URLConnectionClient());
                final OAuthAccessTokenResponse oAuthResponse =
                        oAuthClient.accessToken(request, OAuth.HttpMethod.POST);
        String accessToken = oAuthResponse.getAccessToken();//retrieveINAK(uri);
        Long expiresIn = oAuthResponse.getExpiresIn();
        System.out.println("IN.accessToken="+accessToken);


{code}

> Exception when obtaining access token for LINKED IN
> ---------------------------------------------------
>
>                 Key: OLTU-170
>                 URL: https://issues.apache.org/jira/browse/OLTU-170
>             Project: Apache Oltu
>          Issue Type: Bug
>          Components: oauth2-client
>    Affects Versions: oauth2-1.0.0
>         Environment: Win7/JDK8.31
>            Reporter: Constantin Mitocaru
>
> After obtaining the code I make this call:
> {code}
>                       OAuthClientRequest request = OAuthClientRequest
>                       .tokenProvider(OAuthProviderType.LINKEDIN)
>                       .setGrantType(GrantType.AUTHORIZATION_CODE)
>                       .setClientId(resources.getString("in.app-key"))
>                       .setClientSecret(resources.getString("in.app-secret"))
>                       .setRedirectURI(receivingUrl)
>                       .setCode(code)
>                       .buildQueryMessage();
>                       String uri = request.getLocationUri();
>                       System.out.println("IN.uri.auth_token="+uri);
>                       OAuthClient oAuthClient = new OAuthClient(new 
> URLConnectionClient());
>                       OAuthJSONAccessTokenResponse oAuthResponse = 
> oAuthClient.accessToken(request, OAuthJSONAccessTokenResponse.class);         
>              
> {code}
> I get this error:
> {code}
> java.io.IOException: OAuthProblemException{error='unsupported_response_type', 
> description='Invalid response! Response body is not application/json 
> encoded', uri='null', state='null', scope='null', redirectUri='null', 
> responseStatus=0, parameters={}}
> {code}
> I know that the call is right because I put the produced link directly and I 
> got this output:
> {code}
> Status Code: 200 OK
> Cache-Control: no-cache, no-store
> Connection: keep-alive
> Content-Encoding: gzip
> Content-Language: en-US
> Content-Length: 219
> Content-Type: application/json;charset=UTF-8
>     {
>        "access_token": 
> "AQXNduRi5x4mvalm8J6uNmKTur-UJLc7_NydJMeQA_huj2bqcM3mEmHeyicosPpBIheOk_aM9gAyS8iJvQ1Fiu2Y8XfFruB3UCQfVxCHfLVjywlfUN3XEAjXdV-uzXNPDm7NVOVpOsGLmpSSsN_4bcN5_W8uXfazFKBGTjhk9dAUAgj7E0o",
>        "expires_in": 5182481
>     }
> {code}
> There must be a bug in the oltu code



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to