2011-07-22 85 views
0

我有一个使用会话的用户在登录时导航的rails应用程序(rails3)。我正在尝试为这个Rails服务器创建一个Android应用程序,并试图弄清楚处理登录的最佳方式是什么。Android for Rails服务器管理会话

从我迄今发现的情况来看,有两种可能的方式: 1.登录后从android服务器和setCookie获取会话 2.使用OAuth。

你会推荐哪个?

在这一点上,我不确定如何在使用OAuth时管理会话,这就是为什么我问这个问题。谢谢

回答

0

我上次遇到这个问题。因为我们需要允许android中的登录用户能够查询rails服务器的一些数据。最初我们考虑从android发送密码/用户名,然后在rails服务器中设置会话和cookie,然后发回信息。然后Android使用这个cookie来确定用户是否成功登录。但是,最终我们没有这样做,因为cookie信息可能很难在移动设备上管理。最后,我们为rails服务器创建一个单独的保护方案,如果android发送用户/密码,rails服务器将验证,如果成功,我们会将加密的令牌插入到包含用户名和令牌的数据库中。对于后续请求,android设备必须将令牌发送给rails服务器,如果令牌有效且可以在db中找到,验证通过,我们将返回数据。

这件事的好处是管理用户更容易。例如。您可以轻松管理您为用户允许的并发登录数量。或者如果需要,甚至更好,你可以踢出一些用户而不用触摸android应用程序。不太确定这是否适合您的问题。只是为了分享。

+0

嘿!感谢您的回答。这正是我需要做的。我想知道你们是否使用OAuth?我已经使用了Rails 3的会话控制器,我想我只是很难想象如果用户来自移动设备,如何管理整个程序中已登录的状态。谢谢 – railslearner

+0

我以前没有使用OAuth。我们这样做,以便我们也可以这样做iphone应用程序。而不是使用OAuth将其限制为Android。 – Shanison