0

애플리케이션에 전화 번호 확인을위한 코드를 이미 추가했습니다. 사용자가 전화 번호를 확인하면 해당 번호를 데이터베이스에 추가합니다. .Android 및 Twitter 패브릭 : Twitter 패브릭 디지트 API의 인증을위한 특정 전화 번호 보내기

사용자 로그인을 다시하면 사용자에게 전화 번호를 다시 확인하도록 요청하지만 트위터 패브릭을 사용하면 번호를 확인할 수 있지만 트위터 패브릭 번호는 트위터 패브릭에 제공하는 전화 번호를 확인하려는 것입니다. 내 데이터베이스.

답변

1

토드는 패브릭 팀에서 왔습니다.

여기에서 가장 중요한 고려 사항은 서버에서 숫자 세부 정보를 얻은 다음 Google에 직접 보내야한다는 것입니다. 그렇게하면 서버가 신뢰할 수있는 사용자 정보를받습니다.

먼저 사용자 ID, 전화 번호 및 OAuth 토큰을 요청하는 Digits를 쿼리합니다. 이를 위해 OAuth Echo를 사용해야합니다.

OAuth Echo 헤더를 생성하려면 다음을 수행하십시오.

DigitsOAuthSigning 클래스는 사용자 세션에 대한 인증 헤더를 생성하는 편리한 방법을 제공합니다. DigitsOAuthSigningTwitterAuthConfigTwitterAuthToken을 사용합니다.

TwitterAuthConfig 클래스는 사용자의 Twitter 또는 Digits 응용 프로그램을 식별하기위한 자격 증명을 캡슐화합니다. Digits 클래스에서이 객체를 가져올 수 있습니다.

TwitterAuthToken 클래스는 Twitter of Digits 사용자의 사용자 자격 증명을 나타냅니다. 이 객체는 TwitterSession 또는 DigitsSession에서 가져올 수 있습니다.

TwitterAuthConfig authConfig = TwitterCore.getInstance().getAuthConfig(); 
TwitterAuthToken authToken = session.getAuthToken(); 
DigitsOAuthSigning oauthSigning = new DigitsOAuthSigning(authConfig, authToken); 

OAuth Echo를 사용하는 가장 쉬운 방법은 클라이언트에 인증 헤더를 생성하는 것입니다. 이 헤더를 사용하여 앱 외부 (예 : 웹 서버 서버)에서 OAuth 에코 요청을 만드세요.

Map<String, String> authHeaders = oauthSigning.getOAuthEchoHeadersForVerifyCredentials(); 

authHeaders 맵은 X-Auth-Service-ProviderX-Verify-Credentials-Authorization 키가 포함되어 있습니다. 웹 서버는 X-Verify-Credentials-Authorization의 값을 가져야하며 X-Auth-Service-Provider에 URL에 대한 요청에 대해 Authorization 헤더를 설정하는 데 사용해야합니다. 헤더가 있으면 웹 서버로 전송하여 자격 증명을 확인할 수 있습니다. 당신이해야 웹 호스트에 대한 추가 보안을 위해

URL url = new URL("http://api.yourbackend.com/verify_credentials.json"); 
HttpsURLConnection connection = (HttpsURLConnection)url.openConnection(); 
connection.setRequestMethod("GET"); 

// Add OAuth Echo headers to request 
for (Map.Entry<String, String> entry : authHeaders.entrySet()) { 
    connection.setRequestProperty(entry.getKey(), entry.getValue()); 
} 

// Perform request 
connection.openConnection(); 

, 상기 X-Verify-Credentials-Authorization에서 oauth_consumer_key 헤더 값은 OAuth 고객 키와 일치하는지

검증, 사용자를 보장하기 위해 귀하의 사이트에 로그인합니다. oauth 라이브러리를 사용하여 헤더를 구문 분석하고 키 값을 명시 적으로 일치시킬 수 있습니다 (예 : parse(params['X-Verify-Credentials-Authorization']).oauth_consumer_key=<your oauth consumer key>.

uri를 구문 분석하고 도메인이 api.digits.com이라는 것을 확인하여 숫자를 호출하는지 확인하려면 X-Auth-Service-Provider 헤더를 확인하십시오.검증이 verify_credentials의 응답은 사용자를 확인하기 위해 전화

이 성공적으로

로그인 한 자리 세션에 앱의 자신의 세션을 묶어 서명에 추가 매개 변수를 추가하는 것이 좋습니다. 대체 양식 getOAuthEchoHeadersForVerifyCredentials(Map<String, String> optParams)을 사용하여 OAuth 서비스 URL에 포함 할 추가 매개 변수를 제공하십시오. 이 매개 변수가 서비스 URL에 있고 API 요청이 성공했는지 확인하십시오.

Reference on Verifying Digits Users in Android