2013-05-20 4 views
1

Android의 Restlet 프레임 워크를 통한 HTTP_DIGEST 인증에 다음과 같은 문제가 있습니다.Restlet HTTP_DIGEST 인증 android

05-20 18 : 39 : 14.623 : W/System.err (4584) : Challenge scheme HTTP_DIGEST는 Restlet 엔진에서 지원하지 않습니다. 05-20 18 : 39 : 17.498 : W/System.err (4584) : HTTP_Digest 챌린지 구성표를 도우미 지원을 찾을 수 없습니다. 클라이언트에서 실행 및 오류

clientResource =new ClientResource("http://example.com/position"); 
try{ 
clientResource.wrap(MailResource.class); 
ChallengeResponse challengeResponse = new ChallengeResponse(ChallengeScheme.HTTP_DIGEST, 
"1671046999", 
"tiger");  
clientResource.setChallengeResponse(challengeResponse); 
clientResource.get(); 
} 
catch (Exception e) 
{ 
e.printStackTrace(); 
} 

위에 제공되는

부품 코드는 브라우저 및 권한 부여를 통해 해당 자원 괜찮을 것 같다 검사하였습니다.

조언 : :)

Google은 사용할 수있는 것이 없습니다.

건배!

답변

0

먼저, Restlet Android 에디션의 jar 파일 org.restlet.ext.crypto.jar을 libs 폴더에 추가해야합니다. 하지만 이미 그렇게했을 것입니다. 안타깝게도 Android에서 확장 기능으로 제공되는 커넥터 및 변환기 용 Restlet 자동 검색 메커니즘이 제대로 작동하지 않습니다. 이는 jar 파일이 apk 파일에서 다시 패키징되고 메타 데이터가 손실되기 때문입니다. 따라서 HTTP 다이제스트 인증을 지원하는 것과 같은 확장 기능을 수동으로 구성해야합니다.

Engine.getInstance().getRegisteredAuthenticators().add(new HttpDigestHelper()); 

이 코드 줄은 문제를 재현 할 수있었습니다.