概要 devise_token_auth の change_headers_on_each_request オプションを有効( true )にして SWR を使うと、特定の操作でaccess-tokenの更新に失敗し、それ以降のリクエストでユーザ認証に失敗する 特定の操作: 少しブラウザからフォーカスを外した後に、フォーカスして数秒以内に手動でリロード する、など 対処方法は change_headers_on_each_request を false にするか、SWRの自動更新を使わない ( useSWRImmutable を使う ) にするかのどちらかになるかと思います。 devise_token_auth と change_headers_on_each_request について Ruby on RailsをAPI Modeで使う時には devise_token_auth が便利です
![devise_token_authとSWRを使う場合の注意点: access-tokenが古くなり認証が通らなくなる](https://cdn-ak-scissors.b.st-hatena.com/image/square/d290b17f04b1565ab5e5a98d0c8194dd8411a649/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--NApg6Cqz--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3Adevise_token_auth%2525E3%252581%2525A8SWR%2525E3%252582%252592%2525E4%2525BD%2525BF%2525E3%252581%252586%2525E5%2525A0%2525B4%2525E5%252590%252588%2525E3%252581%2525AE%2525E6%2525B3%2525A8%2525E6%252584%25258F%2525E7%252582%2525B9%25253A%252520access-token%2525E3%252581%25258C%2525E5%25258F%2525A4%2525E3%252581%25258F%2525E3%252581%2525AA%2525E3%252582%25258A%2525E8%2525AA%25258D%2525E8%2525A8%2525BC%2525E3%252581%25258C%2525E9%252580%25259A%2525E3%252582%252589%2525E3%252581%2525AA%2525E3%252581%25258F%2525E3%252581%2525AA%2525E3%252582%25258B%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Ahaze%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2c2RHpOMXlDXzNKdGhZN3ctT18zZEVyTE1KZFQ2bG9xeGJXQ3oxPXMyNTAtYw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png)