Tag: ruby on rails 3

Heroku的Rails 3.2应用程序devise:无法使用Mobile Safarilogin

我已经构build了一个简单的rails应用程序,并将其部署到heroku。 该应用程序使用devise进行身份validation。 在开发和生产环境中一切正常,在iOS上通过Mobile Safari浏览器login时接受。 Heroku日志说: 2012-10-17T18:56:52+00:00 app[web.1]: Started POST "/users/sign_in" for 87.123.175.106 at 2012-10-17 20:56:52 +0200 2012-10-17T18:56:52+00:00 app[web.1]: Processing by Devise::SessionsController#create as HTML 2012-10-17T18:56:52+00:00 app[web.1]: Parameters: {"utf8"=>"✓", "authenticity_token"=>"SHHVgAxRFJ8VFu2cnbh/YGn6s6q0L9Mnp24x9Whu2mk=", "user"=>{"name"=>"test", "password"=>"[FILTERED]"}, "commit"=>"anmelden"} 2012-10-17T18:56:52+00:00 app[web.1]: WARNING: Can't verify CSRF token authenticity 2012-10-17T18:56:53+00:00 app[web.1]: Redirected to http://xxxxxxxx.herokuapp.com/ 其他iOS浏览器(如Opera)不会出现此问题。 我没有做任何自定义的东西来devise(除了添加一个用户名),它是开箱即用的。 我已经阅读了几个post,其中iOS和CSRF令牌的问题是模糊的,但是我对于Rails很新,并且不知道如何解决这个问题。 任何人都可以帮忙吗? 更新: 正如在这篇文章中所build议的,我在application_controller.rb中注释掉了protect_from_forgery在application.html.erb中注释了protect_from_forgery 。 另外,我添加了:domain => :all config […]

如何使用远程Web应用程序对iOS / iPhone用户进行身份validation,并在将来对同一个Web应用程序的请求中重新使用身份validation票证?

我正在构build一个iOS应用程序,我需要能够对Rails 3应用程序的各种数据位进行身份validation请求。 Rails 3应用程序正在使用omniauth和像https://myapp.com/auth/facebook这样的URL,例如,通过Facebook对用户进行身份validation,一旦通过身份validation,就将身份validation存储在名为“auth”的安全cookie中。 我想知道的是如何从iOS / iPhone应用程序authentication我的用户,坚持authentication令牌并将其与未来的请求一起发送到Rails应用程序? 使用ASIHTTPRequest我正在考虑做这样的事情: 打开一个UIWebview,从我的 Web应用程序中加载一个特定于他们想要authentication的提供者的URL(例如myapp.com/auth/facebook for facebook或myapp.com/auth/yahoo for yahoo等)。 成功时,以某种方式parsing出来并将authenticationcookie存储在iOS应用程序中, 而不显示通过网站进行authentication时通常会看到的网页…而是closuresUIWebView并导航回iOS应用程序中的另一个UIVewController。 以某种方式将持久的身份validation令牌与将来的Web请求包含到Rails应用程序中。 我还希望允许用户允许iOS应用程序在本地存储这些信息,因此如果他们也select,则不必重新login到远程应用程序。 这种方法是否合适? 有没有更好的办法? 当然,如何实际执行上述? 谢谢 – wg

Rails在RestKit POST中显示“警告:无法validationCSRF令牌的真实性”

当我尝试从RestKit POST时,在Rails控制台中有一个警告: Started POST "/friends" for 127.0.0.1 at 2012-04-16 09:58:10 +0800 Processing by FriendsController#create as */* Parameters: {"friend"=>{"myself_id"=>"m001", "friend_id"=>"f001"}} WARNING: Can't verify CSRF token authenticity (0.1ms) BEGIN SQL (1.7ms) INSERT INTO `friends` (`friend_id`, `myself_id`) VALUES ('f001', 'm001') (1.1ms) COMMIT Redirected to http://127.0.0.1:3000/friends/8 Completed 302 Found in 6ms (ActiveRecord: 3.0ms) 这里是客户端代码: NSMutableDictionary *attributes = [[NSMutableDictionary alloc] […]