토드는 패브릭 팀에서 왔습니다.
여기에서 가장 중요한 고려 사항은 서버에서 숫자 세부 정보를 얻은 다음 Google에 직접 보내야한다는 것입니다. 그렇게하면 서버가 신뢰할 수있는 사용자 정보를받습니다.
먼저 사용자 ID, 전화 번호 및 OAuth 토큰을 요청하는 Digits를 쿼리합니다. 이를 위해 OAuth Echo를 사용해야합니다.
OAuth Echo 헤더를 생성하려면 다음을 수행하십시오.
DigitsOAuthSigning
클래스는 사용자 세션에 대한 인증 헤더를 생성하는 편리한 방법을 제공합니다. DigitsOAuthSigning
은 TwitterAuthConfig
과 TwitterAuthToken
을 사용합니다.
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-Provider
및 X-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