[
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)