From a04d788e63cf987089ff0ec53fa5e51f3b81252e Mon Sep 17 00:00:00 2001 From: Marcin Kulik Date: Fri, 29 Jan 2016 10:29:18 +0000 Subject: [PATCH] Allow specifying warden strategies per controller --- app/controllers/api/base_controller.rb | 4 ++++ app/controllers/application_controller.rb | 4 ++++ lib/authentication/warden_authentication.rb | 4 ++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/controllers/api/base_controller.rb b/app/controllers/api/base_controller.rb index 8dba7c2..4ae249e 100644 --- a/app/controllers/api/base_controller.rb +++ b/app/controllers/api/base_controller.rb @@ -12,5 +12,9 @@ module Api :api end + def warden_strategies + [:api_token] + end + end end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index bafe31f..1d6d65b 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -23,6 +23,10 @@ class ApplicationController < ActionController::Base private + def warden_strategies + [:auth_cookie] + end + def warden_scope :user end diff --git a/lib/authentication/warden_authentication.rb b/lib/authentication/warden_authentication.rb index ea9f785..455b69e 100644 --- a/lib/authentication/warden_authentication.rb +++ b/lib/authentication/warden_authentication.rb @@ -3,11 +3,11 @@ module WardenAuthentication private def ensure_authenticated! - warden.authenticate!(scope: warden_scope) unless warden.authenticated?(warden_scope) + warden.authenticate!(*warden_strategies, scope: warden_scope) unless warden.authenticated?(warden_scope) end def current_user - warden.authenticate(scope: warden_scope) unless warden.authenticated?(warden_scope) + warden.authenticate(*warden_strategies, scope: warden_scope) unless warden.authenticated?(warden_scope) warden.user(warden_scope) end