配置ActiveResource以支持OAuth2

Tom*_*ssi 6 ruby-on-rails activeresource basecamp 37-signals oauth-2.0

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

Tom*_*ssi 5

我想通过让我的ActiveResource类继承自中间类来做到这一点:

  class Resource < ActiveResource::Base
  end

  class MyClass < Resource
  end
Run Code Online (Sandbox Code Playgroud)

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

如果用户配置了OAuth2:

   Resource.headers['authorization'] = 'Bearer ' + my_oauth2_token
Run Code Online (Sandbox Code Playgroud)

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

   Resource.user = my_user_name
   Resource.password = my_password
Run Code Online (Sandbox Code Playgroud)

希望这有助于某人!