diff --git a/config/initializers/coplan.rb b/config/initializers/coplan.rb index cd74e00..7b3c37e 100644 --- a/config/initializers/coplan.rb +++ b/config/initializers/coplan.rb @@ -1,4 +1,6 @@ CoPlan.configure do |config| + config.sign_in_path = "/sign_in" + config.authenticate = ->(request) { user_id = request.session[:user_id] return nil unless user_id diff --git a/engine/app/controllers/coplan/application_controller.rb b/engine/app/controllers/coplan/application_controller.rb index bd15304..0d9929b 100644 --- a/engine/app/controllers/coplan/application_controller.rb +++ b/engine/app/controllers/coplan/application_controller.rb @@ -43,7 +43,11 @@ def authenticate_coplan_user! attrs = callback.call(request) unless attrs && attrs[:external_id].present? - head :unauthorized + if CoPlan.configuration.sign_in_path + redirect_to CoPlan.configuration.sign_in_path, alert: "Please sign in." + else + head :unauthorized + end return end diff --git a/engine/lib/coplan/configuration.rb b/engine/lib/coplan/configuration.rb index 0666a92..0600280 100644 --- a/engine/lib/coplan/configuration.rb +++ b/engine/lib/coplan/configuration.rb @@ -1,6 +1,6 @@ module CoPlan class Configuration - attr_accessor :authenticate + attr_accessor :authenticate, :sign_in_path attr_accessor :ai_base_url, :ai_api_key, :ai_model attr_accessor :error_reporter attr_accessor :notification_handler