スマートホームなどのドメインのアカウントリンク

 <p>すべてのスマートホーム、ビデオ、会議スキルは、AlexaユーザーのIDとサービスプロバイダーのシステムのIDを接続する必要があります。この機能は「アカウントリンク」といいます。Alexaユーザーとデバイス制御クラウド間でリンクを作成することが目的です。</p>

すべての音楽スキルがアカウントリンクをサポートしている訳ではありませんが、サポートしている場合、ユーザーはここで説明しているとおりにアカウントリンクを実行する必要があります。

ユーザーのアカウントをプリビルドモデルスキルに接続する方法

アカウントリンクに対応しているスマートホームスキル、ビデオスキル、会議スキル、音楽スキルでは、スキルの詳細カードでアカウントリンクが必要であることが表示されます。

  1. Alexaアプリでユーザーが有効にするをクリックすると、アカウントリンクプロセスが開始します。
  2. アプリに、サービスプロバイダーシステムのログインページが表示されます。
  3. ユーザーは使用しているサービスのログインページで認証情報を入力し、そのサービスを使用して認証します。
  4. ユーザーはAlexaアプリの「成功」ページにリダイレクトされます。

アカウントリンクが成功すると、Alexaは、サービスプロバイダーのユーザーを識別するアクセストークンを保存します。Alexaは、以後このトークンをスキルに対するすべてのリクエストに含め、ユーザーがスキルを呼び出したときに、スキルはサービスプロバイダーのシステムのユーザー情報にアクセスできます。

また、ユーザーがアプリ内からアカウントリンクを開始できるように実装することもできます。詳細については、アプリ間アカウントリンクを参照してください。

前提条件

システムはOAuth 2.0が有効で、Authorization code grantフロータイプをサポートしている必要があります。

OAuth 2.0を実装していない場合、OAuth 2.0プロバイダーとしてLogin with Amazon(LWA)を使用するか、Amazon認定の認証局によって署名された証明書を持つプロバイダーを使用することができます。このリストに記載されていても、https://letsencrypt.org/を使用することはできませんのでご注意ください。

また、システムで提供されるアクセストークンには6分以上の有効期限を設定する必要があります。つまり、アクセストークン応答のexpires_inパラメーターを360以上に設定する必要があります。

アカウントリンクの設定

開発者コンソールのビルド > アカウントリンクセクションでスキルにアカウントリンクを設定します。

アカウントリンクの設定フィールド、アクセストークン、Authorization code grantフロー全体の詳細については、Authorization Code Grantを設定するを参照してください。

アカウントリンク処理を追加してスキルコードを更新する

スキルに送信される各ディレクティブには、ユーザーを識別するアクセストークンが含まれます。Lambda関数はトークンを検証してから、そのトークンをユーザーに関する情報にアクセスするために使用します。以下のトピックを参照してください。

また、スキルのAlexaイベントを送る権限を有効にしている場合、Lambda関数はAcceptGrantディレクティブを処理する必要があります。スキルがこのディレクティブを処理しないと、ユーザーがスキルを有効にしようとするとアカウントリンクが失敗します。アクセス権限を設定してAlexaへのユーザー認証を実現するを参照してください。

OAuthのリソース:

その他のリソース: