Как сделать запрос от статического сайта к приложению rails?

Я впервые создал приложение rails в одном домене app.example.com и статический сайт в другом домене www.example.com, Потом добавил devise gem в приложении rails и создал форму входа на статическом сайте. Вот код для формы входа:

<form action="app.example.com/users/sign_in" method="post">
    <input name="utf8" type="hidden" value="✓">
    Email:<input type="text" name="email" value="admin@gmail.com">
    Password:<input type="password" name="password" value="password">
    <input name="authenticity_token", value="", type="hidden">
    <button>Submit</button>
</form>

Можно ли перенаправить приложение rails после входа в систему со статического сайта, поскольку для него требуется authenticity_token и сложно создать authenticity_token на статическом сайте, а также может возникнуть проблема csrf,

1 ответ

Решение

Вы можете отключить защиту CSRF для этого действия, создав подклассы Devise::SessionsController,

# app/controllers/my_sessions_controller.rb
class MySessionsController < Devise::SessionsController
  skip_before_action :verify_authenticity_token, only: :create
end

Убедитесь, что вы измените devise_for :users вызывать config/routes.rb:

devise_for :users, controllers: { sessions: 'my_sessions' }
Другие вопросы по тегам