2017-08-23 9 views
0

ユーザーセッションの有効期限が切れた後、protect_from_forgeryのコントローラにまたはPUT要求を送信すると、サーバーはログアウトしたユーザーに対して予想される401の代わりに403で応答します。protect_from_forgeryを使用したときにセッションのRails 403応答が期限切れになる

コントローラが401コードを返すと、クライアントはログイン画面に戻ってユーザーをリダイレクトします。

各403にリダイレクトする必要はありません。セッションが切れない限り、ユーザーは追い出されません。

私はグーグルで試してみて、in the docと記載されているようにさまざまなフラグを付けて遊んでいます。セッションが期限切れになったときに、protect_from_forgeryが401を返すようにするにはどうすればよいですか?

答えて

0

私はこのための適切な解決策を見つけることができませんでしたので、私は以下のハックを使用:クライアント側で

、サーバーが403エラーを返すたびに、私はすぐにAPIエンドポイントにGET要求を行うことセッションが存在する(ユーザがサインインした)場合は200を返し、それ以外の場合は401を返します。

私はすでに401エラーでユーザーをサインインページにリダイレクトするクライアント側のロジックを持っていました。

誰かが秒の呼び出しを必要としない優れたソリューションをお持ちでしたら、私はそれについて聞いてうれしいです。

関連する問題