2017-10-01 17 views
0

나는 후크가 Warden::Manager.after_authentication do |user, auth, options|이고 인증시 리소스를 업데이트하는 devise 확장을 작성했습니다.Devise extensions (모듈) 주문

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