Hub documentation
SpacesにおけるCookieの制限
SpacesにおけるCookieの制限
Hugging Face Spaces において、アプリケーションはクッキーの使用にいくつかの制限があります。これは主に、Spaces のページ(https://huggingface.co/spaces/<user>/<app>)が、親ページとは異なるドメイン(*.hf.space)でホストされているアプリケーションを iframe 内に含んでいるという構造によるものです。セキュリティ上の理由から、最新のブラウザでは、親ページとは異なるドメインでホストされている iframe ページからのクッキーの使用が制限されることがあります。
Docker SDKによるStreamlitアプリのホスティングへの影響
これらのクッキー制限が問題となるケースの一つは、Docker SDKを使用してStreamlitアプリケーションをホスティングする場合です。デフォルトで、StreamlitはクッキーベースのXSRF保護を有効にしています。その結果、st.file_uploader()のようにサーバーにデータを送信する特定のコンポーネントは、クッキーの使用が制限されているHF Spacesでは正しく動作しません。
この問題を回避するには、Streamlitのserver.enableXsrfProtectionオプションをfalseに設定する必要があります。これには2つの方法があります。
コマンドライン引数: Streamlitアプリケーションを実行する際、このオプションをコマンドライン引数として指定できます。以下にコマンドの例を示します。
streamlit run app.py --server.enableXsrfProtection false
設定ファイル: 代わりに、Streamlitの設定ファイル
.streamlit/config.tomlでオプションを指定することもできます。このように記述します:[server] enableXsrfProtection = false
Update on GitHubStreamlit SDKを使用している場合、SDKが自動で処理してくれるため、この点について心配する必要はありません。