メインコンテンツへスキップ

PINベースの認可

PINベースのOAuthフローは、3-legged OAuth プロセスの一形態で、認可後にユーザーをリダイレクトするためのウェブブラウザにアクセスできない、または埋め込めないアプリケーションを対象としています。該当するアプリケーションの例としては、コマンドラインアプリケーション、組み込みシステム、ゲームコンソール、特定の種類のモバイルアプリなどがあります。 PINベースのOAuthフローは、oauth_callbackoob に設定した request_token においてアプリによって開始されます。oob は out-of-band OAuth を意味します。ユーザーは引き続きXにアクセスしてログインまたはアプリの認可を行いますが、アクセス承認後に自動的にアプリケーションへリダイレクトされることはありません。代わりに数値のPINコードが表示され、アプリケーションに戻ってこの値を入力するよう案内されます。
注: PINベースの認可を使用する場合でも、Xのアプリ設定内の callback_url は引き続き必須です。
 

PIN ベースの OAuth フローの実装

PIN ベースのフローは、3-legged authorization(および Sign in with X)と同様に実装しますが、以下の点が異なります。
  1. POST oauth/request_token 呼び出し時には、oauth_callback の値を oob に設定する必要があります。
  2. ユーザーが GET oauth/authenticate または GET oauth/authorize のいずれかを使用してアプリを承認するために X に遷移した後は、callback_url にリダイレクトされず、代わりに X が生成した約 7 桁の PIN と、その PIN をアプリケーションに入力するよう案内する画面が表示されます。
  3. ユーザーがこの PIN をアプリケーションに入力し、アプリケーションはこの PIN を oauth_verifier として POST oauth/access_token に渡し、access_token を取得します。
Note: PIN は再利用できません。取得した access_token はアプリケーションのユーザーによるリクエストに使用してください。