В процес съм на настройване на Doorkeeper и OAuth2 за едно от моите Rails приложения. Моята цел е да разреша достъп на api до потребител в зависимост от техния access_token, така че само потребител да може да види своя 'user_show' json. Досега моите приложения за разработка и производство са настроени и разрешени по маршрута „oauth2/applications“.
Моят '/config/initializers/doorkeeper.rb'
Doorkeeper.configure do
# Change the ORM that doorkeeper will use.
# Currently supported options are :active_record, :mongoid2, :mongoid3,
# :mongoid4, :mongo_mapper
orm :active_record
# This block will be called to check whether the resource owner is authenticated or not.
resource_owner_authenticator do
# Put your resource owner authentication logic here.
# Example implementation:
User.find_by_id(session[:current_user_id]) || redirect_to('/')
end
end
и моят '/api/v1/user/controller.rb' изглежда така:
class Api::V1::UserController < Api::ApiController
include ActionController::MimeResponds
before_action :doorkeeper_authorize!
def index
user = User.find(doorkeeper_token.resource_owner_id)
respond_with User.all
end
def show
user = User.find(doorkeeper_token.resource_owner_id)
respond_with user
end
end
Опитах се да получа достъп до таблицата с OAuth приложения, за да видя какво се създава, но не мога да получа достъп до него в rails конзолата.
Благодаря предварително за прозрението!