使用OpenID登录后,ActionController :: InvalidAuthenticityToken

时间:2014-07-28 19:15:19

标签: ruby-on-rails ruby-on-rails-4 xmlhttprequest openid csrf

使用Rails 4和ruby 2.1.2

我需要实现一些信息性页面,但其中一个页面中有一个表单。只有在表单提交时才会启动身份验证。只需要一种身份验证方法:OpenID,只有一个现有提供程序。

我做了一个简单的原型,然后我被重定向到OpenID提供商登录。但是,当回来时,我收到InvalidAuthenticityToken错误。

阅读例如这个问题: ActionController::InvalidAuthenticityToken in RegistrationsController#create 我怀疑它与重定向有关。我实际上提交了表单,但首先重定向到OpenID提供程序,然后返回到表单的POST操作URL。在这些重定向上,我猜我使用form_for构建的表单标记会丢失。

我怎么能正确地做到这一点? 我的下一次尝试可能是尝试捕获提交事件,执行OpenID身份验证的XHR请求,并且只有在从那里回来之后我才能真正提交表单。但是我预见到这里有麻烦,对于有效的OpenID登录,我可能需要打开一个新窗口才能有效地执行重定向,而且我不确定如何在此过程中不会丢失...;)

这是我到目前为止所做的事情(嘿,它是原型,我只是使用url: sites_path作为form_for的选项,因此转到/sites网址,映射到{{ 1}};))

create

0 个答案:

没有答案