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

PIN ベースの認可

PIN ベースの OAuth フローは、3-legged OAuth の一種で、認可後にユーザーをリダイレクトするためのウェブブラウザにアクセスできない、または埋め込めないアプリケーションを対象としています。対象例としては、コマンドラインアプリケーション、組み込みシステム、ゲーム機、特定の種類のモバイルアプリなどがあります。 PIN ベースの OAuth フローは、oauth_callbackoob に設定した request_token によってアプリから開始されます。oob は out-of-band OAuth を意味します。ユーザーは引き続き X にアクセスしてログインまたはアプリの認可を行いますが、アクセスを承認してもアプリケーションに自動的にリダイレクトされることはありません。代わりに数値の 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 を通じてあなたの App の承認のために X に遷移した後、ユーザーは callback_url にリダイレクトされません。代わりに、X によって生成された約 7 桁の PIN が表示され、その PIN をあなたのアプリケーションに入力するよう案内されます。
  3. ユーザーがこの PIN をあなたのアプリケーションに入力すると、あなたのアプリケーションは POST oauth/access_token において、この PIN を oauth_verifier として使用して access_token を取得します。
Note: PIN は再利用できません。取得した access_token はアプリケーションとユーザーのリクエストに使用してください。
I