Class: YiffSpace::Auth::WebhookController
- Inherits:
-
ApplicationController
- Object
- YiffSpace::ApplicationController
- ApplicationController
- YiffSpace::Auth::WebhookController
- Defined in:
- app/controllers/yiff_space/auth/webhook_controller.rb
Constant Summary collapse
- HANDLED_EVENTS =
%w[ User.Roles.Updated User.SuspensionStatus.Updated User.Deleted Role.Scopes.Updated ].freeze
- DIRTY_FLAG_TTL =
24.hours
Constants included from Helper
Instance Method Summary collapse
Methods included from Helper
#auth, #auth=, #auth?, #auth_client_config, #auth_raw, #client_name, #client_name=, #full_reset!, #has_permission?, #logged_in?, #require_auth, #reset_auth!, #reset_user!, #sync_auth_if_dirty!, #url_helpers, #user, #user=, #user?, #user_raw
Instance Method Details
#create ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'app/controllers/yiff_space/auth/webhook_controller.rb', line 19 def create unless verify_signature render(plain: "Unauthorized", status: :unauthorized) return end payload = JSON.parse(request.raw_post) event = payload["event"] handle_event(event, payload) if HANDLED_EVENTS.include?(event) head(:ok) rescue JSON::ParserError render(plain: "Bad Request", status: :bad_request) end |