Question

I need to be able configure ActiveResource to connect with OAuth2 or basic authentication on a connection by connection basis. I have found a couple ways to configure ActiveResource with OAuth2, but they don't seem that elegant and don't lend themselves to a dynamic type configuration. Any help out there?

Was it helpful?

Solution

I figured out how to do this by having my ActiveResource classes inherit from an intermediate class:

  class Resource < ActiveResource::Base
  end

  class MyClass < Resource
  end

This allows you to dynamically set the authentication (as well as site, format, etc) for all classes that inherit from the intermediate Resource class:

if the user has OAuth2 configured:

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

or if the user is just using basic authentication:

   Resource.user = my_user_name
   Resource.password = my_password

Hope this helps someone!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top