#AlexaカスタムスキルとCognitoをアカウントリンクで連携させる
前の記事:Cognitoで認証情報を保存するユーザープール作成
##アカウントリンク設定
###ドメインの設定
Cognitoを表示して、左側のメニューより「ドメイン名」を押下
ドメインのプレフィックスに任意のドメインを入力 →このサンプルではalexa-sampleにしました
「変更を保存」を押下
###ドメイン名のコピー
ドメインのURLをコピーしておいてください
###アカウントリンクの設定
alexaに戻り左側のメニューから「アカウントリンク」を押下
###アカウントリンクの詳細設定
1.「ユーザーがアカウントや既存アカウントへのリンクを作成することを許可しますか?」をONにする
2.「アカウントリンクなしでスキルを有効にすることをユーザーに許可します (推奨)。」をOFFにする
3.「Auth Code Grant」を選択する
4. 「認証画面のURI」を以下フォーマットで設定する
https://{Amazon Cognito ドメイン}/login?client_id={アプリクライアントID}&response_type=code&scope=aws.cognito.signin.user.admin&redirec
※{Amazon Cognito ドメイン}はこちらで保存したドメインのURL
※{アプリクライアントID}はこちらで保存していた「アプリクライアントID」
5.「アクセストークのURI」を以下フォーマットで設定する
https://{Amazon Cognito ドメイン}/oauth2/token
※{Amazon Cognito ドメイン}は[こちら](https://qiita.com/kurisaka/items/6404f49b4d5134ee8e74#%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E5%90%8D%E3%81%AE%E3%82%B3%E3%83%94%E3%83%BC)で保存したドメインのURL
6.「ユーザーのクライアントID」にこちらで保存していた「アプリクライアントID」を入力する
7.「ユーザーのシークレット」にこちらで保存していた「アプリクアライアントのシークレット」を入力する
8.Alexaのリダイレクト先のURLはコピーしておく
9.最後に「保存」を押下
###アプリクライアントの設定
Cognitoに戻り左側のメニューから「アプリクライアントの設定」を押下
###アプリクライアントの詳細設定
- 「Cognito User Pool」を選択
- 「コールバックURL」はこちらの8でコピーしたAlexaのリダイレクト先のURLをカンマでつないで登録する
- 「サインアウトURL」は「https://alexa.amazon.co.jp」を入力
- 「許可されている OAuth フロー」で「Authorization code grant」を選択
- 「許可されている OAuth スコープ」で「aws.cognito.signin.user.admin」
- 「変更の保存」を押下
###Cognitoの設定完了
「ホストされたUIを起動」のリンクが表示されれば登録は成功しています
##Alexaの公開設定とアカウントリンク
###Alexa公開設定
alexaに戻り上部の「公開」メニューを押下
以下赤枠の部分を入力して最後に「保存して続行」を押下
###プライバシーとコンプライアンス設定
赤枠を入力して最後に「保存して続行」を押下
###ベータテスト設定
###Sign in画面が表示されたら、Sign upリンクを押下する
###Sign up画面にアカウント情報を入力します
最後に「Sign up」を押下します
###設定したEmailにverification Codeが送られてきます
###表示された画面にverification Codeを入力して「Confirm Account」を押下します
#動作確認
###iPhoneアプリから動作を確認
1.「サンプルスキルを開いて」と発話する
###Cognitoの登録状況を確認
左側のメニューより「ユーザーとグループ」を押下
ユーザー名のリンクを押下
###関連記事