DEV: Include `login_required` attribute in basic info endpoint (#14064)

DEV: Include login_required attribute in basic info endpoint (#14064)

This is useful in the DiscourseHub mobile app, currently the app queries the about.json endpoint, which can raise a CORS issue in some cases, for example when the site only accepts logins from an external provider.

diff --git a/app/controllers/site_controller.rb b/app/controllers/site_controller.rb
index c2df175..734036c 100644
--- a/app/controllers/site_controller.rb
+++ b/app/controllers/site_controller.rb
@@ -34,7 +34,8 @@ class SiteController < ApplicationController
       title: SiteSetting.title,
       description: SiteSetting.site_description,
       header_primary_color: ColorScheme.hex_for_name('header_primary') || '333333',
-      header_background_color: ColorScheme.hex_for_name('header_background') || 'ffffff'
+      header_background_color: ColorScheme.hex_for_name('header_background') || 'ffffff',
+      login_required: SiteSetting.login_required
     }
 
     if mobile_logo_url = SiteSetting.site_mobile_logo_url.presence
diff --git a/spec/requests/site_controller_spec.rb b/spec/requests/site_controller_spec.rb
index 86c9b9e..b4c3c9a 100644
--- a/spec/requests/site_controller_spec.rb
+++ b/spec/requests/site_controller_spec.rb
@@ -29,6 +29,7 @@ describe SiteController do
       expect(json["mobile_logo_url"]).to eq(expected_url)
       expect(json["header_primary_color"]).to eq("333333")
       expect(json["header_background_color"]).to eq("ffffff")
+      expect(json["login_required"]).to eq(true)
     end
   end
 

GitHub sha: 08a3aa546b8b05cd1367511ff4d39a296bd17c46

This commit appears in #14064 which was approved by eviltrout. It was merged by pmusaraj.