I was doing the same thing but in the end I decided to ditch OAuth for CAS:
ClassyCAS server as a base for the single sign-on app.
A Back-end User Management application (Basic rails app) which ClassyCAS
uses to authenticate (And other apps use for authorization checking).
Client applications running Devise + oa-enterprise for CAS integration.
Client applications accessing the User Management App for user
integration. (You could go the active-resource way for this)
Because we are using a central Mgt. Service and don't need external
identity providers etc. I ultimately decided against using OAuth.
Depending on your you manage your users it might be an option for you.