サイトのトップへ戻る

Twitter 開発者 ドキュメント日本語訳

OAuth エコーを使用する

OAuthエコーでは、APIとやり取りしている間のOAuth 認証をサードパーティへしっかりと任せます。 例えば、ユーザーの資格情報の検証をあなたのアプリからではなくあなたのサーバ(サードパーティ)から行いたいような場合です。

OAuth エコーについての詳細な技術情報は ここで参照できます。



OAuthSigningのインスタンスを作成する

OAuthSigningのインスタンスを作成するには、TwitterAuthTokenTwitterAuthConfigが必要です。

TwitterAuthConfig クラスは、あなたのTwitterアプリやーションやDigitsアプリケーションを識別するための資格情報をカプセル化します。 TwitterCore クラスからこのオブジェクトを取得することができます。

TwitterAuthTokenクラスは、 Digits ユーザーのTwitter におけるユーザー資格情報を表します。 TwitterSession もしくはDigitsSessionからこのオブジェクトを取得できます。

TwitterAuthConfig authConfig = TwitterCore.getInstance().getAuthConfig();
TwitterAuthToken authToken = session.getAuthToken();

OAuthSigning oauthSigning = new OAuthSigning(authConfig, authToken);


OAuth エコーのヘッダを作成する

OAuth エコーを使用する最も簡単場方法は、認証ヘッダをリクエストして、アプリ外からverify_credentialsへのリクエストを作成することです。

Map authHeaders = oauthSigning.getOAuthEchoHeadersForVerifyCredentials();

ヘッダを取得したら、それをバックエンドに渡して、アプリ内で使われているユーザーセッションの証明情報を検証することができます。

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

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

// Perform request

このauthHeaders map はX-Auth-Service-Providerキーと X-Verify-Credentials-Authorization キーを保持しています。 バックエンドでX-Verify-Credentials-Authorizationに設定されている値を取得し、その値をX-Auth-Service-Providerに設定されているURLへリクエストする際のAuthorizationヘッダに設定してください。