我正在使用devise来使用facebook对用户进行身份验证,并试图设置处理facebook取消授权的方法。
我有一个名为authorized的用户模型,当取消授权的facebook回调发生时,该属性将被更新。所有这些都有效。
我想要子类的典狱长策略,包括检查用户的授权状态,但我无法确定哪个监狱长策略子类。
如果我删除了devise提供的所有其他身份验证选项,只需使用
devise :omniauthable, omniauth_providers: [ :facebook ]当我运行Warden::Strategies.send(:_strategies)时,没有定义任何典狱长策略。
我应该从哪个监狱长的策略中得到无所不能的行为?
发布于 2014-05-30 22:19:44
我不认为对杂食有什么具体的策略。反正我也看不见。但是,如果您想检查每个请求上的属性(例如,它们在登录到应用程序时取消授权),那么您应该在用户模型中重写active_for_authentication?。这是lib/devise/hooks/activatable.rb中的典狱长钩子代码对每个请求的检查的一部分。不要忘记调用super,如果需要的话也要实现一条非活动消息。见医生:
http://rubydoc.info/github/plataformatec/devise/master/Devise/Models/Authenticatable
https://stackoverflow.com/questions/23918189
复制相似问题