Создать iFrame моего приложения Rails для избранных веб-сайтов - PullRequest
0 голосов
/ 14 июля 2020

У меня есть приложение Rails, которое я бы хотел, чтобы клиенты встраивали на свои веб-сайты (с помощью iFrame или аналогичного кода), где они могут отправить форму и потенциально просматривать информацию об учетной записи. использовать OAuth, но мне было интересно, как безопасно регистрировать их, учитывая строгие настройки одинакового происхождения и CORS, которые большинство сайтов используют для предотвращения кликджекинга и т. д.

Моя первоначальная мысль заключалась в том, чтобы предоставить iFrame веб-страницу с назначенным токеном в URL-адресе, чтобы указать, что он поступает с действительного сайта, но хакеры могут легко скопировать его. Я почти уверен, что OAuth пытается предотвратить это, но, как уже упоминалось, у меня этого пока нет.

1 Ответ

1 голос
/ 14 июля 2020

По умолчанию параметры iframe для рельсов ограничены одинаковым происхождением. Если вы хотите включить внешние сайты, вы можете сделать это следующим образом:

config.action_dispatch.default_headers = { 'X-Frame-Options' => 'ALLOWALL' }

Это позволит другим сайтам встраивать ваш сайт. Если вы хотите ограничить внешние сайты. Вы можете сделать это, добавив следующий код в свой базовый контроллер.

response.headers["X-FRAME-OPTIONS"] = "ALLOW-FROM http://dummysite.com"

Сохраните этот код в методе и вызовите с помощью before_action

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...