2012-05-12 2 views
2

사용자가 트위터 계정을 사용하여 자바 웹 앱에 가입하고 로그인 할 수있게하고 싶습니다. 트위터 계정에서 필요한 유일한 정보는 이름 (또는 이름이 제공되지 않은 경우 Twitter 사용자 이름)과 이메일 주소입니다.자바 웹 앱의 등록 및 인증을 위해 트위터 사용하기

scribean example 콘솔 앱에서 Twitter로 인증하는 방법을 제공하는 OAuth 라이브러리를 발견했습니다. 그러나, 나는 웹 애플 리케이션에 이것을 적응시키는 방법을 알아낼 수 없다. 나는이 예제를 "있는 그대로"사용할 수 있다고 생각하지 않는다 :

Scanner in = new Scanner(System.in); 

웹 애플리케이션에서는 작동하지 않는다. 또한 인증이 완료되면 사용자 이름과 이메일 주소를 검색하는 방법을 볼 수 없습니다.

누군가가 Java 웹 응용 프로그램에서 Twitter (OAuth 사용)를 인증하고 사용자의 이름과 이메일을 검색하는 방법에 대한 완전한 예를 지적하면 좋을 것입니다. 이 예제는 필자가 작성해야하는 코드가 적을수록 필기 필을 사용하지 않아도된다.

+0

라이브러리를 모르지만 액세스 토큰을 가져 오면 사용자 정보를 가져 오는 API 호출은 [verify_credentials]입니다 (https://dev.twitter.com/docs/api/1/get/account/). verify_credentials). 사용자 이메일을 포함하고 있지는 않습니다. 나는 당신이 트위터에서 그것을 얻을 수 없다고 생각할 것입니다 - 아마 그들은 당신이 대신 그들을 트윗 할 것으로 기대합니다! – Rup

+0

스캐너 - 인증 콜백에 대한 텍스트 입력을 받아들이는 예제입니다. 대신 콜백 URL을 지정해야합니다 (대신 Facebook 예제를 참조하십시오). Twitter 인증 메커니즘에서이 값을받습니다. – Rup

+0

어쨌든 등록시 이메일 주소를 요청하는 것이 좋습니다. Twitter API에서 이메일 주소를 얻을 수 있다면 이메일 주소 필드에 정보를 입력 할 수 있지만 여전히 사용자가 이메일 주소 필드를 변경할 수 있도록해야합니다. 어떤 사람들은 다른 서비스에 대해 다른 이메일 주소를 사용합니다. 예를 들어 트위터에 대한 내 주소로 [email protected]을 사용할 수는 있지만 내 서비스에서 필터링 목적으로 [email protected]이되고 싶습니다. – palto

답변

1

verifier을 수신하는 응용 프로그램의 끝점이 있어야합니다. 당신이 예에서와 마찬가지로 OOB의 길을 갈 경우

, 클라이언트가 수동으로 엔드 포인트에 호출을 수행해야합니다 :

curl http://example.com?verifier=123456 

을이 같은 callback를 사용하는 경우 :

Service service = new ServiceBuilder().callback("http://example.com"). //rest of the config 

Twiiter는 통화 자체를 수행하고 사용자 브라우저를 끝점으로 리디렉션합니다.

관련 문제