【发布时间】:2010-11-15 09:36:39
【问题描述】:
是否有人测试过 - authlogic 是否可以与 oauth-plugin (https://github.com/pelle/oauth-plugin) 一起使用?
【问题讨论】:
标签: ruby-on-rails oauth authlogic
是否有人测试过 - authlogic 是否可以与 oauth-plugin (https://github.com/pelle/oauth-plugin) 一起使用?
【问题讨论】:
标签: ruby-on-rails oauth authlogic
我现在正在让它工作。我只是使用 authlogic 方法推出了我自己的方法,让它发挥得很好。 (我正在尝试让提供程序工作,所以 authlogic-oauth 似乎不适合我)
我会边走边编辑
def logged_in?
return true if current_user
end
def login_required
return true if logged_in?
store_location
redirect_to new_user_session_path and return false
end
【讨论】:
简短的回答是否。我目前正在将 oauth-plugin 的服务提供商与我自己的身份验证系统(早于 authlogic、acts_as_authenticated 和所有其他系统)集成。
oauth-plugin 服务提供商通过代码生成器生成两个控制器,然后将它们绑定到插件中的一些库文件中。所有这些文件都需要一个 login_required 类方法,其语义与 acts_as_authenticated 使用的语义相同。
authlogic 对您的控制器完全不做任何假设,因此它不能与 oauth-plugin 一起使用,但是该设计决策也意味着它可以以预期的方式构建控制器相当容易。因此,构建一个支持 oauth-plugin 的 shim 应该很容易(也许很简单)。
但是在我的情况下,我决定运行生成器,然后从插件中提取我需要的内容并删除插件本身。我这样做的主要原因是我的身份验证系统中明确没有login_required 方法,所以我必须对lib 进行修补才能使其工作。其次,插件中有很多我不需要的东西。第三,大部分真正库级别的东西已经被抽象到 oauth gem 本身,所以生活在 oauth-plugin lib 目录中的东西在这个生成的代码和实际库之间的奇怪无人区。
【讨论】:
Authlogic 有一个专门为其开发的插件,可以在here 找到。
【讨论】: