アカウントリンク
アカウントリンクとは
スマートホームとビデオのすべてのスキルでは、ユーザーのIDをデバイス制御クラウドに接続する必要があります。この機能を「アカウントリンク」と呼びます。Alexaユーザーとデバイス制御クラウド間でリンクを作成することが目的です。
認可を得て他のサービスの機能を利用する Alexa スキルの仕組みのこと。
Alexa developer console の ビルド > アカウントリンク セクションでスキルにアカウントリンクを設定できる。設定項目は以下。
OAuthプロバイダーの認証画面のURI
OAuthプロバイダーのクライアントID
OAuthプロバイダーで必要な場合はスコープ
OAuthプロバイダーのアクセストークンのURI
クライアントIDに関連付けられたクライアントシークレット
Authorization code grant
1. ユーザは、Alexa アプリからスキルを有効化する
2. Alexa アプリは、認証画面のURI を使用してログインページを表示する
URI にはクエリパラメータとして以下が渡される
state, client_id, response_type, scope, redirect_uri
3. ユーザは、認可サーバー の認証情報を使って、ログインページからログインする
4. 認可サーバーは、認可コード (code) を生成し Alexa アプリに返す
5. Alexa アプリは、code を利用して アクセストークンURI から アクセストークン, 更新トークン の組を 認可サーバー にリクエストする
6. Alexa Service は、アクセストークン, 更新トークン を保存する
7. 以降、ユーザのリクエスト時には アクセストークン が含まれる
期限が切れると 更新トークン を利用してサイド アクセストークンURI にリクエストが行われる
https://m.media-amazon.com/images/G/01/mobile-apps/dex/ask-accountlinking/auth-code-grant-flow-sequence._TTH_.png
その他以下がわかりやすかったりする。