OAuth 2.0 Device Flow

「OAuth 2.0 Devive Flow」があります。これはブラウザーやWebViewが使えないデバイスを別デバイス(スマホなど)と連携させて認可する仕様です。

Yahoo Japan Techblog記事

  1. Device(tvOSの画面上)でログインボタンが押され、認可サーバーへアプリケーションを識別するためのClient IDを送信する。
  2. 認可サーバーからデバイス検証用のVerification Code、ユーザー検証用のUser CodeとVerification URIが返却される。
  3. 取得したUser CodeとVerification URIをDevice上に表示し、別のデバイス(スマホ)のブラウザーでURIを表示する。
  4. ユーザーがVerification URIで処理をしている間、DeviceはClient IDとVerification Codeを含めた認可サーバーへのリクエストをPollingで実行して処理の完了を待つ。
  5. スマホのブラウザーでVerification URIにアクセスするとユーザー認証(ログイン)が求められる。認証後、Device上のアプリとの連携に対する同意が求められる。同意する場合にはUser Codeを入力する。
  6. 5.の認証、同意が完了すると4.のPolling状態が解放され、アクセストークンが返却される。