ASK CLIからLogin With Amazonする
この記事はAlexa Advent Calendar 2018およびAlexa Skill Advent Calendar 2018 22日目の記事です。 Alexaでの開発をいろいろ進めていると、どうしてもLogin […]
広告ここから
広告ここまで
目次
この記事はAlexa Advent Calendar 2018およびAlexa Skill Advent Calendar 2018 22日目の記事です。
Alexaでの開発をいろいろ進めていると、どうしてもLogin With Amazonのtoken情報だけ欲しくなるケースが出てきます。CloudFormationやSMAPIの呼び出しなどですね。
その際に使える便利なCLIコマンドがありましたので、やってみましょう。
LWA (Login With Amazon)の準備
まず準備します。-> 手順
続いて認証時の戻り値を設定します。[許可されたオリジン]はhttps://127.0.0.1
など、適当な値を入れておきましょう。[許可された返信URL]には--no-broweser
オプションを使うならhttps://s3.amazonaws.com/ask-cli/response_parser.html
、使わないならhttps://127.0.0.1:9090/cb
を指定します。
ask util generate-lwa -tokensの実行
ASK CLIからLWA tokenを発行します。
$ ask util generate-lwa-tokens --no-browser
? Please type in the client ID:
amzn1.application-oa2-client.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
? Please type in the client secret:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Paste the following url to your browser:
https://www.amazon.com/ap/oa?redirect_uri=https%3A%2F%2Fs3.amazonaws.com%2Fask-cli%2Fresponse_parser.html&scope=alexa%3xxxxxxx
URLが表示されますので、コピー&ペーストでブラウザからアクセスしましょう。Authorization Codeが表示されますので、これをCLIに入力すればOKです。なお、--no-browser
オプションをつけない場合はこのブラウザを開く作業とコードを入力する作業をCLI側でよしなにしてくれます。
? Please enter the Authorization Code: xxxxxxxxxx
{
"access_token": "Atza|xxxxxxxxxx",
"refresh_token": "Atzr|xxxxxxxxx",
"token_type": "bearer",
"expires_in": 3600,
"expires_at": "2018-12-21T17:13:42.080Z"
}
とれましたね。あとはこれを使っていけばOKです。