スマートホームなどのドメインのアカウントリンク
すべてのスマートホーム、ビデオ、会議スキルは、AlexaユーザーのIDとサービスプロバイダーのシステムのIDを接続する必要があります。この機能のことを「アカウントリンク」といいます。Alexaユーザーとサービスプロバイダー間でリンクを作成することを目的にしています。すべての音楽スキルがアカウントリンクをサポートしている訳ではありませんが、サポートしている場合、ユーザーはここで説明しているとおりにアカウントリンクを実行する必要があります。
アカウントリンクの概念については、Alexaスキルにおけるアカウントリンクの概念を参照してください。ユーザーエクスペリエンスについては、Alexaスキルにおけるアカウントリンクのユーザーエクスペリエンスを参照してください。
前提条件
スマートホームスキルにアカウントリンクを実装するには、以下の前提条件があります。
- システムはOAuth 2.0とAuthorization code grant種別をサポートしている必要があります。
独自の認可サーバーがない場合、Login with Amazon(LWA)か、Amazon認定の認証局によって署名された証明書を持つほかのOAuth 2.0プロバイダーを使用することができます。このリストに記載されていても、https://letsencrypt.org/
を使用することはできませんので注意してください。 - システムで提供するアクセストークンには6分以上の有効期限が設定されている必要があります。つまり、アクセストークン応答の
expires_in
パラメーターを360以上に設定する必要があります。
その他の要件については、Alexaスキルにおけるアカウントリンクの要件を参照してください。
アカウントリンクの設定
開発者コンソールのビルド > アカウントリンクセクションでスキルにアカウントリンクを設定します。
アカウントリンクのコンフィギュレーションフィールド、アクセストークン、Authorization code grantフロー全体の詳細については、Authorization code grantを設定するを参照してください。
アカウントリンク処理を追加してスキルコードを更新する
スキルに送信される各ディレクティブには、ユーザーを識別するアクセストークンが含まれます。Lambda関数はトークンを検証してから、そのトークンをユーザーに関する情報にアクセスするために使用します。以下のトピックを参照してください。
また、スキルのAlexaイベントを送る権限を有効にしている場合、Lambda関数はAcceptGrant
ディレクティブを処理する必要があります。スキルがこのディレクティブを処理しないと、ユーザーがスキルを有効にしようとするとアカウントリンクが失敗します。アクセス権限を設定してAlexaへのユーザー認証を実現するを参照してください。
自動登録
スキルでは、ユーザーがシステムのアカウント登録とデバイスセットアップ時のAlexa IDとのリンクを自動で行えるようにすることができます。これを自動登録と呼びます。
スマートホームスキルでの自動登録は現在、プレビュー中です。自動登録機能の最新情報を入手するには、こちらのフォームから登録してください。
関連トピック
- スマートホームとビデオのスキルコードでアクセストークンを検証して使用する
- Alexaスキルのアカウントリンクとは
- Alexaスキルにおけるアカウントリンクの概念
- Alexaスキルにおけるアカウントリンクのユーザーエクスペリエンス
- Alexaスキルにおけるアカウントリンクの要件