配置ActiveResource以支持OAuth2

时间:2012-03-11 15:36:52

标签: ruby-on-rails oauth-2.0 activeresource basecamp 37-signals

我需要能够在连接的基础上配置ActiveResource以连接OAuth2或基本身份验证。我找到了几种使用OAuth2配置ActiveResource的方法,但它们看起来并不优雅,也不适合动态类型配置。有任何帮助吗?

1 个答案:

答案 0 :(得分:5)

我想通过让我的ActiveResource类继承自中间类来实现这个目的:

  class Resource < ActiveResource::Base
  end

  class MyClass < Resource
  end

这允许您为从中间Resource类继承的所有类动态设置身份验证(以及站点,格式等):

如果用户配置了OAuth2:

   Resource.headers['authorization'] = 'Bearer ' + my_oauth2_token

或者如果用户只是使用基本身份验证:

   Resource.user = my_user_name
   Resource.password = my_password

希望这有助于某人!