先日より、Azure Static Web Appsの検証をしています。今回はその続きです。
- Azure Static Web Apps CLIを使ってローカル開発環境を構築する - miyohide's blog
- Azure Static Web Apps CLIを使ってローカル開発環境を構築する(2) - miyohide's blog
認証プロバイダーをブロックする
先日実施した認証機能の実装の際、下記にあった認証プロバイダーをブロックするという項目に目が止まり実装することにしました。
これを実装するには、設定ファイルとしてstaticwebapp.config.json
ファイルをReactアプリを格納しているフォルダ直下に置く必要があります。
記述内容として、最初は以下の記述を実装しました。
{ "route": "/.auth/login/twitter", "statusCode": 404 }
ただ、これではうまく動きません。理由を探っていたところswa start
で起動した時に以下のメッセージが出ていることに気がつきます。
[swa] WARNING: Failed to read staticwebapp.config.json configuration from: [swa] /Users/miyohide/work/azure_static_web_apps_local/src/staticwebapp.config.json [swa] [swa] The following error was encountered: The property "route" is not allowed (Line: 0) [swa] 0: { [swa] 1: "route": "/.auth/login/twitter", [swa] 2: "statusCode": 404 [swa] 3: } [swa] [swa] Please fix the above error and try again to load and use the configuration. [swa] Read more: https://aka.ms/swa/config-schema
サンプル通りに記入したのになんで?と思っていたのですが、staticwebapp.config.json
のドキュメントに書かれているサンプルをみてわかりました。
実際には、routes
にて囲む必要がありました。具体的には以下のような記述をする必要がありました。
{ "routes": [ { "route": "/.auth/login/twitter", "statusCode": 404 } ] }
これを設定しておくと、/.auth/login/twitter
にアクセスすると404が帰ってきました。