現在railsのバージョン4.2.5にて、deviseを用いて簡単なアプリケーションの開発をしているのですが、メールを使わずにパスワードをリセットをする必要が出てきました。
そこで、usersテーブルに秘密の質問とその答えのカラムを用意し、以下のような手順でパスワードリセットを作ろうと考えました。

①deviseのログイン画面にあるパスワードリセットのリンクを書き換えて、ここをクリックすると、全ユーザから自分の名前を選択する画面に移動。
②名前を選択すると、秘密の質問を選択するフォームと答えを入力するフォームの画面へ移動。
③質問と答えを送信し、それがあらかじめ登録しておいたものと同じ場合、パスワード変更の入力フォームとパスワード確認用のフォームを表示(無ければその旨を伝える文を表示)
④新しいパスワードを入力し送信すると、パスワードが変更されたことを伝え、ログイン画面に移動

今この中で③の条件分岐までは作れたのですが、パスワードを変更するフォームの作り方が分からない状況です。
そこで質問なのですが、まずそもそもdeviseにおいてメールを使わずにパスワードリセットを実装することは可能でしょうか?
またもし可能であれば、どのようにすればパスワードを変更する事が出来るでしょうか?
まだ初めて一か月程度で全然知識がない状況なので、難しいことだと分からないかもしれないですが、ご回答のほどよろしくお願いいたします。