2017-10-01 5 views
0

私はデビースエクステンションを書いています。フックはWarden::Manager.after_authentication do |user, auth, options|で、認証時にリソースを更新します。デビーズエクステンション(モジュール)の注文

私はWarden::Manager.after_authenticationフックを使用する2つの要因の認証宝石を使用しています。私の問題は、私が最初にそれを実行するために私の拡張が必要な​​ことです。

私はGemfileで宝石の並べ替えを試み、devise :ext1, :ext2..の拡張を並べ替えて、私がローカルに持っていたgemをrubygemsにアップロードしようとしました。

答えて

0

Warden::Manager.after_authenticationは、新しいフックをフック配列に追加するために使用されるメソッドの名前を(パラメータとして)取ることができます。デフォルトでは:pushです。 https://github.com/hassox/warden/blob/fa24dcbf34022d85dce8db51dd11bbbe5a6fddcc/lib/warden/hooks.rb#L76

フックを最初に挿入するには、:unshiftを渡す必要があります。

Warden::Manager.after_authentication({}, :unshift) do |user, auth, options| 
    # ... 
end