Skip to main content

PIN ベースの認可

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

PIN ベース OAuth フローの実装

PIN ベースのフローは、以下の違いを除き、3-legged 認可 (および Sign in with X) と同じ方法で実装します:
  1. POST oauth/request_token 呼び出しの際、oauth_callback の値を oob に設定する必要があります。
  2. ユーザーが GET oauth/authenticate または GET oauth/authorize URL を使用してアプリを認可するために X に送信された後、callback_url にリダイレクトされず、代わりに X が生成した約 7 桁の PIN と、その PIN をアプリケーションに入力するよう指示する画面が表示されます。
  3. ユーザーがこの PIN をアプリケーションに入力し、アプリケーションはその PIN 番号を POST oauth/access_tokenoauth_verifier として使用し、access_token を取得します。
注: PIN 番号は再利用できません。また、取得した access_token は application-user リクエストに使用してください。