セッションコントローラーにカスタムヘッダーを追加しようとしています:
class SessionsController < Devise::SessionsController
after_filter :allow_origin_header
def create
...
sign_in(resource_name.to_s, resource)
respond_with...
end
private
def allow_origin_header
...
response.headers['some_header'] = 'some_value'
...
end
end
これは、ユーザーが正常にサインインしている場合に正しく機能します。そうでない場合、ヘッダーは追加されません。「sign_in」が原因だと思います。実行フローを中断し、Devise からカスタム メッセージを返します (メールまたはパスワードが無効です)。
次に、ヘッダーを応答に追加するミドルウェアを作成しましたが、うまくいきません。デバイスはすべてのミドルウェアを回っているように見えます。
では、devise の応答にカスタム ヘッダーを追加するにはどうすればよいですか?