跨多个域的用户身份验证

时间:2010-01-07 20:23:40

标签: ruby-on-rails ssl heroku

在此发布了上一个问题,但有后续跟进。我试图创建一个解决方法,在昂贵的自定义域上使用SSL。对于某些安全页面,我愿意将用户从https://app.heroku.com发送到http://www.app.com,并且需要使用猴子修补的SSL来实现此目的。但是,现在这个问题是确保我的用户在我这样做时登录。据我了解,cookie不是跨域的。有没有解决这个问题的方法?

2 个答案:

答案 0 :(得分:2)

现在处理这个问题 - 不,会话没有通过,你可以用iframe等做一些黑客攻击等,但是你会得到安全警告,不是页面上的所有东西都是安全的......
如果你想保持安全,你不能通过跨域的任何东西......
我找到的唯一方法是在https页面的url + user_id中传递自定义的authenticity_token(你可以只做md5("#{user.id} The Secret"))并检查你是否在https页面上得到相同的结果...
不是太复杂,但有点难看......

在我的情况下,这是一个付款页面,所以我并不关心用户是否登录,因为如果有人攻击它 - 他最终将为其他人付款:)

答案 1 :(得分:0)

好吧,您可以尝试http://www.chrisbaglieri.com/2010/01/01/heroku-hacks-ssl.html,看看它是否符合您的需求。它不是一个完美的解决方案,但它在某种程度上是安全的。如果您使用不同的身份验证,则可能需要自己实现。