2011-07-22 129 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