https://github.com/plataformatec/devise/blob/1a0192201b317d3f1bac88f5c5b4926d527b1b39/app/controllers/devise/sessions_controller.rb

で、

respond_with(resource, serialize_options(resource))

という処理で最終的に、.erbに処理を渡していると思うのですが、
respond_withの動きがわかりません。

  def serialize_options(resource)
    methods = resource_class.authentication_keys.dup
    methods = methods.keys if methods.is_a?(Hash)
    methods << :password if resource.respond_to?(:password)
    { methods: methods, only: [:password] }
  end

で、 methodsonlyをキーに持つHashを作っていてrespond_withはこのHashを引数に受け取っているようではありますが... この2つのキーにはどういう意味があるのでしょうか?