我有一个使用设备 + 门卫的 Rails 应用程序。我还使用 cancan 进行角色管理。在我的应用程序中,我http://localhost:3000/oauth/applications/new
用于注册我的应用程序以获取客户端和机密 ID。目前任何用户都可以通过Web界面注册应用程序以获取客户端和秘密ID,我需要限制访问,以便只有管理员可以注册应用程序。
我在doorkeeper.rb
文件中看到了一些代码
# If you want to restrict access to the web interface for adding oauth authorized applications, you need to declare the block below.
# admin_authenticator do
# # Put your admin authentication logic here.
# # Example implementation:
# Admin.find_by_id(session[:admin_id]) || redirect_to(new_admin_session_url)
# end
我尝试如下,但没有工作......
admin_authenticator do
if(current_user)
current_user.role? :admin
else
redirect_to(new_user_session_url)
end
end
提前致谢......