2011-11-22 5 views
1

OAuth 2.0 공급자와 OAuth 2.0을 사용하여 공급자에 연결할 수있는 Android 응용 프로그램을 만들려고합니다. 다음 설치가 있습니다 :OAuth2를 사용하여 'sparklr'J2EE 애플리케이션에 연결하는 android 응용 프로그램

springsource에서 'sparklr'이라는 J2EE 예제 OAuth 2.0 공급자가있는 Tomcat 서버. 내가 'Tonr'예제로 테스트하면 완벽하게 작동합니다. 이제 Tonr 애플리케이션 예제와 거의 같은 Android 애플리케이션이 필요합니다. OAuth 2.0을 사용하여 sparklr 응용 프로그램에서 사진 리소스에 액세스

하지만 막혔습니다. 나는 아파치 앰버로 옮겨진 leeloo 라이브러리를 사용하고 있습니다. 정확히하려면 다음 자습서를 사용하고 있습니다. http://simpleprogrammer.com/2011/05/25/oauth-and-rest-in-android-part-1/

첫 번째 응용 프로그램이 작동합니다. 브라우저가 시작되고 sparklr 페이지가 로그인하여 요청을 승인합니다. 그러나 액세스 토큰을 가져 오려고하면 응용 프로그램이 충돌합니다. 내가 logcat에서 현명하지 못한 나는 요청을 얻기 위해 디버그를 사용했습니다.

request = OAuthClientRequest.tokenLocation("http://10.106.0.16:8084/sparklr/oauth/token") 
       .setGrantType(GrantType.AUTHORIZATION_CODE) 
       .setClientId("tonr") 
       .setClientSecret("secret") 
       .setRedirectURI("MyOAuth2POC://oauthresponse") 
       .setCode(code) 
       .setScope("trust") 
          .buildBodyMessage(); 

을 그리고 난 내 URL을 얻을 : 다음 코드는 요청을 구축 http://10.106.0.16:8084/sparklr/oauth/token?scope=read&code=iCMZPE&client_secret=secret&client_id=tonr&grant_type=authorization_code&redirect_uri=MyOAuth2POC%3A%2F%2Foauthresponse

모든 매개 변수가이하고 나에게 올바른 모습을.

그래서 분명 뭔가 범위 매개 변수를 잘못

{ "오류": "invalid_grant", "ERROR_DESCRIPTION": "MASCID 잘못된 인증 코드"} 그러나 나는 다음과 같은 출력을 얻을 . 나는 그것을 '읽기'대신 '신뢰'로 설정하려했지만 다른 결과는 없었습니다. sparklr 응용 프로그램에서 뭔가를 변경해야합니까? 아니면 안드로이드 응용 프로그램에 문제가 있습니까?

누군가가 도움을 줄 수 있기를 바랍니다.

xx!

답변

0

문제는 내 URL에 액세스 토큰을 얻지 못했지만 요청 토큰의 URL에 있습니다.

범위를 지정하지 않았습니다.

는이 같은 허가를 내 URL에 매개 변수를 추가 : http://.../sparklr/oauth/authorize?scope=read&response_type=code

을 지금은 작업을 수행합니다.

나는 틀린 장소를보고 있었다.

관련 문제