AWS AmplifyでCLIからbasic認証の設定を解除する

AWS, amplify, Next.js
2021-06-28

またAmplifyネタ。

AWS Amplifyでnext.js(SSR)を利用したfrontendの場合、現状basic認証が利用できません。

https://docs.aws.amazon.com/ja_jp/amplify/latest/userguide/server-side-rendering-amplify.html#access-control-unsupported

Access control isn't available for your appb Currently, Amplify doesn't support access control for Next.js apps that use SSR. If you are working with an SSR app in the Amplify console, Access control isn't available in the App settings menu in the navigation pane.

今日はハマったのは、数日前にAmplifyのコンソールでBasic認証をセットアップし、今日久々にデプロイしようとしたらビルド時に以下のエラーが発生しました。

2021-06-28T07:45:23.067Z [INFO]: 
  Build failed: Basic Auth is not supported for SSR apps. 
  Please disable Basic Auth before deploying your SSR app.

で、設定をBasic認証を解除するの別によいので、早速解除しようとAmplifyのコンソールにアクセスしたところなぜかアクセスコントロールのメニューがなかった。(SSRの場合は表示されないようになっているのかな?)

An image from Notion

なので、awsのCLIから以下のコマンドで解除することにしました。aws cliでアカウントを設定した状態で以下を実行します。

$ aws amplify update-app --app-id [appのid] --no-enable-basic-auth

実行結果がjsonで吐き出されていれば成功です。

確認する場合は以下のコマンドで確認できます。

$ aws amplify get-app --app-id [appのid]
{
    "app": {
        "appId": "your_appid",
        ...
        "enableBasicAuth": false,
   }
}

update-app のその他のオプションはこちらで確認できます

https://docs.aws.amazon.com/cli/latest/reference/amplify/update-app.html

Written by Kyohei Tsukuda who lives and works in Tokyo 🇯🇵 , building useful things 🔧.