authlogic和oauth-plugin

时间:2009-07-30 10:33:59

标签: ruby-on-rails oauth authlogic

是否有人测试过 - authlogic是否可以使用oauth-plugin(https://github.com/pelle/oauth-plugin)?

3 个答案:

答案 0 :(得分:2)

简短的回答是。我目前正在将 oauth-plugin 的服务提供商与我自己的身份验证系统(早于 authlogic acts_as_authenticated 以及其他所有系统)进行整合。 / p>

oauth-plugin 服务提供商通过生成两个控制器的代码生成器工作,然后将这些控制器绑定到插件中的一些库文件中。所有这些文件都期望login_required类方法具有与 acts_as_authenticated 相同的语义。

authlogic 根本不对您的控制器做任何假设,因此它不会与 oauth-plugin 一起开箱即用,但是该设计决定也意味着它将会以预期的方式构建控制器相当容易。因此,建立一个垫片以支持 oauth-plugin 应该(可能很容易)。

然而在我的情况下,我决定运行生成器,然后从插件中提取我需要的内容并删除插件本身。我这样做的主要原因是我在auth系统中明确地没有login_required方法,因此我必须修补lib以使其工作。其次,插件中有很多我不需要的东西。第三,大多数真正的库级别的东西已经被抽象到 oauth 宝石本身,所以生活在 oauth-plugin lib目录中的东西就在这里奇怪的是没有勒芒在生成的代码和实际的库之间着陆。

答案 1 :(得分:2)

我正在努力让它立即发挥作用。我只是使用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 

答案 2 :(得分:1)

Authlogic有一个专门为它开发的附加组件,可以找到here