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