【问题标题】:Devise, Omniauth and multiple models with STI使用 STI 设计、Omniauth 和多个模型
【发布时间】:2013-03-07 23:04:36
【问题描述】:

我有一个使用 sti 设计身份验证的应用程序设置(基本用户模型和其他两个模型 - 公司和个人 - 继承自它)。从设计的角度来看,一切正常。我可以为注册表单设置不同的路径,并且一切都按预期工作。现在我想为两个用户(公司和个人)提供使用 facebook 或链接注册/登录的选项。如果我在两个模型上设置 :omniauthable,并在我的 routes.rb 上为每个模型设置 devise_for,我得到一个错误说只有一个模型可以是omniauthable的。如果我不对每个模型使用 devise_for,则不会生成任何路线。如果我只在用户模型上设置omniauthable,我只会得到一个路由和一个回调。

我在某处读到过,解决方案是单独使用omniauth(与设计分开)。但是,我似乎无法使用与设计分开的omniauth 来实现预期的行为(我可以得到一个单一的授权/回调路由,但是两个,如预期的那样)。

有谁可以帮忙吗?

TIA

【问题讨论】:

  • 我遇到了同样的问题。你有没有找到解决办法。
  • 我确实设法让它工作了,但老实说我不记得应用了什么解决方案了 :-) 如果您仍然需要提示,我可以尝试获取该代码再次检查一下。
  • 我想通了。这是我的错字。
  • 需要一些建议。你们中的任何人都可以提供一些意见/指示吗?
  • 有人能解决这个问题吗? @Dex ?

标签: devise ruby-on-rails-3.2 omniauth


【解决方案1】:

Devise 的 Omniauthable 模块确实支持多种模型。见

https://github.com/plataformatec/devise/wiki/OmniAuth-with-multiple-models

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 2014-10-18
    • 2015-10-30
    • 1970-01-01
    相关资源
    最近更新 更多