ここからファブリックチームのトッド。
ここで最も重要な考慮事項は、お客様のサーバーから桁の詳細を取得し、直接私たちに送信することです。そうすれば、あなたのサーバーは信頼できるユーザー情報を受け取ります。
まず、ユーザID、電話番号、OAuthトークンを要求するDigitsを照会します。これを実現するには、OAuth Echoを使用する必要があります。
OAuthエコーヘッダーを生成します。
DigitsOAuthSigning
クラスは、ユーザーセッションの承認ヘッダーを生成する便利な方法を提供します。 DigitsOAuthSigning
は、TwitterAuthConfig
とTwitterAuthToken
に依存しています。
TwitterAuthConfig
クラスは、TwitterまたはDigitsアプリケーションを識別するための資格情報をカプセル化します。 Digitsクラスからこのオブジェクトを取得できます。
TwitterAuthToken
クラスは、TwitterのDigitsユーザーのユーザー資格情報を表します。このオブジェクトはTwitterSession
またはDigitsSession
から取得できます。
TwitterAuthConfig authConfig = TwitterCore.getInstance().getAuthConfig();
TwitterAuthToken authToken = session.getAuthToken();
DigitsOAuthSigning oauthSigning = new DigitsOAuthSigning(authConfig, authToken);
OAuth Echoを使用する最も簡単な方法は、クライアントで承認ヘッダーを生成することです。これらのヘッダーを使用して、アプリケーションの外部からOAuth Echoリクエストを作成します(Webサーバーサーバーなどから)。
Map<String, String> authHeaders = oauthSigning.getOAuthEchoHeadersForVerifyCredentials();
authHeaders
マップはX-Auth-Service-Provider
とX-Verify-Credentials-Authorization
キーが含まれています。あなたのWebサーバーはX-Verify-Credentials-Authorization
の値をとり、それを使用してX-Auth-Service-Provider
にURLへの要求のためにAuthorization
ヘッダーを設定します。ヘッダーがあれば、Webサーバーに送信して資格情報を確認できます。あなたがすべきあなたのウェブホスト上
セキュリティを強化するため
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であることを確認して、数字を呼び出すようにします。
検証verify_credentialsからの応答が数字セッションにアプリ独自のセッションを結びつけるために、署名に追加のパラメータを追加することを検討してユーザーが正常に
にログインしていることを確認するために呼び出します。代わりのフォームgetOAuthEchoHeadersForVerifyCredentials(Map<String, String> optParams)
を使用して、OAuthサービスのURLに追加するパラメータを指定します。これらのパラメータがサービスURLに存在し、API要求が成功したことを確認します。
Reference on Verifying Digits Users in Android