Мне нужно написать собственную стратегию аутентификации для https://github.com/plataformatec/devise, но нет ', кажется, нет никаких документов. Как это делается?
Пользовательская стратегия аутентификации для разработки
Ответы (1)
Я нашел этот очень полезный фрагмент в эта тема в группе разработчиков Google
инициализаторы/some_initializer.rb:
Warden::Strategies.add(:custom_strategy_name) do
def valid?
# code here to check whether to try and authenticate using this strategy;
return true/false
end
def authenticate!
# code here for doing authentication;
# if successful, call
success!(resource) # where resource is the whatever you've authenticated, e.g. user;
# if fail, call
fail!(message) # where message is the failure message
end
end
добавьте следующее в initializers/devise.rb
config.warden do |manager|
manager.default_strategies.unshift :custom_strategy_name
end
person
opsb
schedule
19.11.2010
спасибо, очень полезно, я использовал его для аутентификации пользователей joomla моего старого сайта :-)
- person simo; 20.12.2012
Очень полезный ответ, хотя ссылка не работает. Не могли бы вы исправить это?
- person mrzasa; 23.01.2013
Я настоятельно рекомендую использовать DatabaseAuthenticable в качестве шаблона. при реализации собственных стратегий, иначе могут возникнуть проблемы с неработающим запоминаемым, настройка которого выполняется в его вызове проверить.
- person Gabe Martin-Dempesy; 27.02.2014