Ho un'applicazione Rails che utilizza Device + doorkeeper.Io sto usando cancan anche per Role Management.Nella mia applicazione io uso http://localhost:3000/oauth/applications/new
per la registrazione la mia domanda per ottenere l'ID cliente e segreto. Attualmente qualsiasi utente può registrare un'applicazione tramite l'interfaccia web per ottenere l'ID segreto e client, ho bisogno di limitare l'accesso in modo che solo l'amministratore possa registrare l'applicazione.Rails 3: Come limitare l'accesso all'interfaccia web per aggiungere oauth applicazioni autorizzate utilizzando la gemma di Doorkeeper
Ho visto un certo codice in file di 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
ho provato come qui di seguito, ma non funziona ...
admin_authenticator do
if(current_user)
current_user.role? :admin
else
redirect_to(new_user_session_url)
end
end
Grazie in anticipo ......
Sembra un bug, inserisci un problema nella pagina github: https://github.com/applicake/doorkeeper –
ho provato in questo modo, e funziona ........ admin_authenticator do redirect_to (new_user_session_url) unless (current_user.role? : admin) fine – Cyber
Hai provato a tornare indietro? Quindi, qualcosa del genere: 'admin_authenticator {nil}'. Vedi cosa succede, se riesci ancora ad accedere a/oauth/applicazioni allora questo sembra essere un bug – Max