我有一個Rails API只應用[config.api_only = true]
中,我能夠通過以下這些行餅乾:存儲會話中軌API應用
:
config.middleware.insert_after ActionDispatch::ParamsParser, ActionDispatch::Cookies
config.middleware.insert_after ActionDispatch::ParamsParser, ActionDispatch::Session::CookieStore
在application_controller.rb
include ActionController::Helpers
include ActionController::Cookies
我還添加了secret_token.rb,如下所示:
Rails.application.config.secret_token = 'token'
在我的控制器
,我想保存這樣的會話:
def index
#other codes
session[:userid] = useridstring
render :text => session[:userid]
end
注:但是,在鍍鉻執行此之後,我檢查cookie並沒有設置...
然後在相同的控制器,但在另一個行動,我想讀這樣的對話:
def readsession
userId = session[:userid]
render :text => userId
end
,並沒有什麼渲染.. :(
有什麼我錯過了?
我想答案here這表明,我設置config.api_only = false
以下,但是結果是一樣的(我沒有設置Cookie,並在另一個控制器讀取時,會話仍然是空的
對不起,這是這樣的。一個基本的問題(或初始配置件事),我依然在Ruby和Rails很新..
支持您的API由主板應用程序使用,那麼該應用程序將如何存儲Cookie?當然,瀏覽器可以使用cookie,但一般的應用程序或API的普通使用者可能無法做到這一點。所以你最好需要使用令牌進行認證。 –
@BilalMaqsood:哦..是的,它是移動的!我沒有想到..我如何使用令牌進行身份驗證呢? :O –
@BilalMaqsood:Cookie確實可以在移動設備上使用,在Android中檢出cookieManager,而NSUrlConnection也可以在iOS中自動處理cookie ..我想知道你如何處理令牌,但我知道解析。com也是這樣做的 –