Fix admin API unconditionally requiring CSRF token (#17975)
Fixes #17898 Since #17204, the admin API has only been available through the web application because of the unconditional requirement to provide a valid CSRF token. This commit changes it back to `null_session`, which should make it work both with session-based authentication (provided a CSRF token) and with a bearer token.
This commit is contained in:
		@@ -1,8 +1,6 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class Api::V1::Admin::AccountActionsController < Api::BaseController
 | 
			
		||||
  protect_from_forgery with: :exception
 | 
			
		||||
 | 
			
		||||
  before_action -> { authorize_if_got_token! :'admin:write', :'admin:write:accounts' }
 | 
			
		||||
  before_action :require_staff!
 | 
			
		||||
  before_action :set_account
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,6 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class Api::V1::Admin::AccountsController < Api::BaseController
 | 
			
		||||
  protect_from_forgery with: :exception
 | 
			
		||||
 | 
			
		||||
  include Authorization
 | 
			
		||||
  include AccountableConcern
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,6 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class Api::V1::Admin::DimensionsController < Api::BaseController
 | 
			
		||||
  protect_from_forgery with: :exception
 | 
			
		||||
 | 
			
		||||
  before_action -> { authorize_if_got_token! :'admin:read' }
 | 
			
		||||
  before_action :require_staff!
 | 
			
		||||
  before_action :set_dimensions
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,6 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class Api::V1::Admin::MeasuresController < Api::BaseController
 | 
			
		||||
  protect_from_forgery with: :exception
 | 
			
		||||
 | 
			
		||||
  before_action -> { authorize_if_got_token! :'admin:read' }
 | 
			
		||||
  before_action :require_staff!
 | 
			
		||||
  before_action :set_measures
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,6 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class Api::V1::Admin::ReportsController < Api::BaseController
 | 
			
		||||
  protect_from_forgery with: :exception
 | 
			
		||||
 | 
			
		||||
  include Authorization
 | 
			
		||||
  include AccountableConcern
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,6 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class Api::V1::Admin::RetentionController < Api::BaseController
 | 
			
		||||
  protect_from_forgery with: :exception
 | 
			
		||||
 | 
			
		||||
  before_action -> { authorize_if_got_token! :'admin:read' }
 | 
			
		||||
  before_action :require_staff!
 | 
			
		||||
  before_action :set_cohorts
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,6 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class Api::V1::Admin::Trends::LinksController < Api::BaseController
 | 
			
		||||
  protect_from_forgery with: :exception
 | 
			
		||||
 | 
			
		||||
  before_action -> { authorize_if_got_token! :'admin:read' }
 | 
			
		||||
  before_action :require_staff!
 | 
			
		||||
  before_action :set_links
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,6 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class Api::V1::Admin::Trends::StatusesController < Api::BaseController
 | 
			
		||||
  protect_from_forgery with: :exception
 | 
			
		||||
 | 
			
		||||
  before_action -> { authorize_if_got_token! :'admin:read' }
 | 
			
		||||
  before_action :require_staff!
 | 
			
		||||
  before_action :set_statuses
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,6 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class Api::V1::Admin::Trends::TagsController < Api::BaseController
 | 
			
		||||
  protect_from_forgery with: :exception
 | 
			
		||||
 | 
			
		||||
  before_action -> { authorize_if_got_token! :'admin:read' }
 | 
			
		||||
  before_action :require_staff!
 | 
			
		||||
  before_action :set_tags
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user