有人测试过 - authlogic 是否可以与 oauth-plugin ( https://github.com/pelle/oauth-plugin ) 一起使用?
3 回答
简短的回答是否定的。我目前正在将oauth-plugin的服务提供商与我自己的身份验证系统(早于authlogic、acts_as_authenticated和所有其他系统)集成。
oauth-plugin服务提供商通过代码生成器生成两个控制器来工作,然后将它们绑定到插件中的一些库文件中。所有这些文件都需要一个与acts_as_authenticatedlogin_required
使用的语义相同的类方法。
authlogic根本不对您的控制器做任何假设,因此它不能与oauth-plugin一起使用,但是该设计决策也意味着以预期的方式构建控制器将相当容易。因此,构建一个支持oauth-plugin的 shim 应该很容易(也许很简单)。
但是在我的情况下,我决定运行生成器,然后从插件中提取我需要的内容并删除插件本身。我这样做的主要原因是我的身份验证系统中明确没有该login_required
方法,因此我必须对 lib 进行修补才能使其正常工作。其次,插件中有很多我不需要的东西。第三,大部分真正的库级别的东西已经被抽象到oauth gem 中,所以生活在oauth-plugin lib 目录中的东西在生成的代码和实际库之间这个奇怪的无人区。
我正在让这个工作现在。我只是使用 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
Authlogic 有一个专门为其开发的插件,可以在这里找到。