Add csrf header

This commit is contained in:
Jesse C. Fisher 2023-09-18 19:03:13 +00:00
parent 7839816706
commit 9db776bfab
4 changed files with 7 additions and 4 deletions

View File

@ -36,7 +36,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
\*******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EXCHANGE: () => (/* binding */ EXCHANGE),\n/* harmony export */ JOIN_CALL: () => (/* binding */ JOIN_CALL),\n/* harmony export */ LEAVE_CALL: () => (/* binding */ LEAVE_CALL),\n/* harmony export */ broadcastData: () => (/* binding */ broadcastData),\n/* harmony export */ ice: () => (/* binding */ ice)\n/* harmony export */ });\nvar JOIN_CALL = \"JOIN_CALL\";\nvar EXCHANGE = \"EXCHANGE\";\nvar LEAVE_CALL = \"LEAVE_CALL\";\nvar ice = {\n iceServers: [{\n urls: \"stun:stun2.l.google.com:19302\"\n }]\n};\nvar broadcastData = function broadcastData(data) {\n fetch(\"calls\", {\n method: \"POST\",\n body: JSON.stringify(data),\n headers: {\n \"content-type\": \"application/json\"\n }\n });\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9mcm9udGVuZC9jb21wb25lbnRzL3ZpZGVvX3V0aWwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBTyxJQUFNQSxTQUFTLEdBQUcsV0FBVztBQUM3QixJQUFNQyxRQUFRLEdBQUcsVUFBVTtBQUMzQixJQUFNQyxVQUFVLEdBQUcsWUFBWTtBQUMvQixJQUFNQyxHQUFHLEdBQUc7RUFBRUMsVUFBVSxFQUFFLENBQzlCO0lBQ0dDLElBQUksRUFBRTtFQUNULENBQUM7QUFDSCxDQUFDO0FBQ0ssSUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFHQyxJQUFJLEVBQUk7RUFDbENDLEtBQUssQ0FBQyxPQUFPLEVBQUU7SUFDRUMsTUFBTSxFQUFFLE1BQU07SUFDZEMsSUFBSSxFQUFFQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ0wsSUFBSSxDQUFDO0lBQzFCTSxPQUFPLEVBQUU7TUFBQyxjQUFjLEVBQUU7SUFBa0I7RUFDOUMsQ0FDZixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RoaXJ0ZWVuLXRpZW4tbGVuLy4vZnJvbnRlbmQvY29tcG9uZW50cy92aWRlb191dGlsLmpzP2RkMDMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEpPSU5fQ0FMTCA9IFwiSk9JTl9DQUxMXCI7XG5leHBvcnQgY29uc3QgRVhDSEFOR0UgPSBcIkVYQ0hBTkdFXCI7XG5leHBvcnQgY29uc3QgTEVBVkVfQ0FMTCA9IFwiTEVBVkVfQ0FMTFwiO1xuZXhwb3J0IGNvbnN0IGljZSA9IHsgaWNlU2VydmVyczogW1xuICAgeyBcbiAgICAgIHVybHM6IFwic3R1bjpzdHVuMi5sLmdvb2dsZS5jb206MTkzMDJcIiBcbiAgIH1cbl19O1xuZXhwb3J0IGNvbnN0IGJyb2FkY2FzdERhdGEgPSBkYXRhID0+IHtcbiAgIGZldGNoKFwiY2FsbHNcIiwge1xuICAgICAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1wiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwifVxuICAgICAgICAgICAgICAgICAgfVxuICAgKTtcbn07XG4iXSwibmFtZXMiOlsiSk9JTl9DQUxMIiwiRVhDSEFOR0UiLCJMRUFWRV9DQUxMIiwiaWNlIiwiaWNlU2VydmVycyIsInVybHMiLCJicm9hZGNhc3REYXRhIiwiZGF0YSIsImZldGNoIiwibWV0aG9kIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJoZWFkZXJzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./frontend/components/video_util.js\n");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EXCHANGE: () => (/* binding */ EXCHANGE),\n/* harmony export */ JOIN_CALL: () => (/* binding */ JOIN_CALL),\n/* harmony export */ LEAVE_CALL: () => (/* binding */ LEAVE_CALL),\n/* harmony export */ broadcastData: () => (/* binding */ broadcastData),\n/* harmony export */ ice: () => (/* binding */ ice)\n/* harmony export */ });\nvar JOIN_CALL = \"JOIN_CALL\";\nvar EXCHANGE = \"EXCHANGE\";\nvar LEAVE_CALL = \"LEAVE_CALL\";\nvar ice = {\n iceServers: [{\n urls: \"stun:stun2.l.google.com:19302\"\n }]\n};\nvar broadcastData = function broadcastData(data) {\n fetch(\"calls\", {\n method: \"POST\",\n body: JSON.stringify(data),\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-CSRF-Token\": document.querySelector(\"meta[name='csrf-token']\").content\n }\n });\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9mcm9udGVuZC9jb21wb25lbnRzL3ZpZGVvX3V0aWwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBTyxJQUFNQSxTQUFTLEdBQUcsV0FBVztBQUM3QixJQUFNQyxRQUFRLEdBQUcsVUFBVTtBQUMzQixJQUFNQyxVQUFVLEdBQUcsWUFBWTtBQUMvQixJQUFNQyxHQUFHLEdBQUc7RUFBRUMsVUFBVSxFQUFFLENBQzlCO0lBQ0dDLElBQUksRUFBRTtFQUNULENBQUM7QUFDSCxDQUFDO0FBQ0ssSUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFHQyxJQUFJLEVBQUk7RUFDbENDLEtBQUssQ0FBQyxPQUFPLEVBQUU7SUFDRUMsTUFBTSxFQUFFLE1BQU07SUFDZEMsSUFBSSxFQUFFQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ0wsSUFBSSxDQUFDO0lBQzFCTSxPQUFPLEVBQUU7TUFDUCxjQUFjLEVBQUUsa0JBQWtCO01BQ2xDLGNBQWMsRUFBRUMsUUFBUSxDQUFDQyxhQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQ0M7SUFDcEU7RUFDRixDQUNmLENBQUM7QUFDSixDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdGhpcnRlZW4tdGllbi1sZW4vLi9mcm9udGVuZC9jb21wb25lbnRzL3ZpZGVvX3V0aWwuanM/ZGQwMyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgSk9JTl9DQUxMID0gXCJKT0lOX0NBTExcIjtcbmV4cG9ydCBjb25zdCBFWENIQU5HRSA9IFwiRVhDSEFOR0VcIjtcbmV4cG9ydCBjb25zdCBMRUFWRV9DQUxMID0gXCJMRUFWRV9DQUxMXCI7XG5leHBvcnQgY29uc3QgaWNlID0geyBpY2VTZXJ2ZXJzOiBbXG4gICB7IFxuICAgICAgdXJsczogXCJzdHVuOnN0dW4yLmwuZ29vZ2xlLmNvbToxOTMwMlwiIFxuICAgfVxuXX07XG5leHBvcnQgY29uc3QgYnJvYWRjYXN0RGF0YSA9IGRhdGEgPT4ge1xuICAgZmV0Y2goXCJjYWxsc1wiLCB7XG4gICAgICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgXCJYLUNTUkYtVG9rZW5cIjogZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIm1ldGFbbmFtZT0nY3NyZi10b2tlbiddXCIpLmNvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9XG4gICApO1xufTtcbiJdLCJuYW1lcyI6WyJKT0lOX0NBTEwiLCJFWENIQU5HRSIsIkxFQVZFX0NBTEwiLCJpY2UiLCJpY2VTZXJ2ZXJzIiwidXJscyIsImJyb2FkY2FzdERhdGEiLCJkYXRhIiwiZmV0Y2giLCJtZXRob2QiLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsImhlYWRlcnMiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJjb250ZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./frontend/components/video_util.js\n");
/***/ }),

View File

@ -3,7 +3,7 @@ class ApplicationController < ActionController::Base
# For APIs, you may want to use :null_session instead.
# protect_from_forgery with: :exception
protect_from_forgery unless: -> { request.format.json? }
skip_before_action :verify_authenticity_token
# skip_before_action :verify_authenticity_token
after_action :flash_to_http_header
if (Rails.env.development? || Rails.env.test?)

View File

@ -7,6 +7,6 @@ class CallsController < ApplicationController
private
def call_params
params.permit(:call, :type, :from, :to, :sdp)
params.permit(:call, :type, :from, :to, :sdp, :candida)
end
end

View File

@ -10,7 +10,10 @@ export const broadcastData = data => {
fetch("calls", {
method: "POST",
body: JSON.stringify(data),
headers: {"content-type": "application/json"}
headers: {
"Content-Type": "application/json",
"X-CSRF-Token": document.querySelector("meta[name='csrf-token']").content,
},
}
);
};