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

PIN ベースの認可

PIN ベースの OAuth フローは、3-legged OAuth プロセスの一種で、認可後にユーザーをリダイレクトするための Web ブラウザーにアクセスできない、またはブラウザーを埋め込めないアプリケーション向けに設計されています。該当するアプリケーションの例としては、コマンドラインアプリケーション、組み込みシステム、ゲームコンソール、および一部の種類のモバイルアプリなどがあります。 PIN ベースの OAuth フローは、oauth_callbackoob に設定した request_token を App が発行することで開始されます。oob という用語は out-of-band OAuth を意味します。ユーザーは引き続き X にアクセスしてログインまたは App を認可しますが、アクセスを承認しても自動的にアプリケーションへリダイレクトされることはありません。その代わりに、数値の PIN コードが表示され、アプリケーションに戻ってこの値を入力するよう指示されます。
Note: PIN ベースの認可を使用する場合でも、X の App 設定内の 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 URL を使ってあなたのアプリケーションを承認するために X に送られた後、ユーザーは callback_url にリダイレクトされず、代わりに X によって生成された約 7 桁の PIN コードと、その PIN をあなたのアプリケーションに入力するよう指示する画面が表示されます。
  3. ユーザーはこの PIN をあなたのアプリケーションに入力し、アプリケーションはその PIN 番号を oauth_verifier として POST oauth/access_token に渡し、access_token を取得します。
Note: PIN 番号は再利用できません。取得した access_token は、アプリケーションがユーザーに代わって行うリクエストに使用する必要があります。