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です。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark