起初我是用基本的HTTP驗證與設計一個驗證用戶遵循本指南:的Rails 3 - 基本的HTTP認證VS認證令牌與iPhone
http://jessehowarth.com/2011/04/27/ajax-login-with-devise
我是能夠成功地驗證用戶的身份,但會議永遠保持登錄狀態。沒有辦法破壞用戶的會話。實際上,當我添加user_signed_in?在我的create方法中設計的方法,即使通過json註銷,它也會始終返回true。所以我得出結論:使用基本的http認證無法結束會話。你真正可以做的是檢查用戶是否已經登錄並將狀態碼作爲json發送回客戶端。
然後我嘗試了身份驗證令牌路由,該路由允許您使用身份驗證令牌創建會話,然後通過刪除該身份驗證令牌來銷燬會話,並且用戶必須再次登錄才能訪問需要進行身份驗證,如在這個崗位:
Devise and Authentication with CURL !
這種方法的缺點是,你有這樣的,你必須爲每個頁面需要身份驗證,這似乎有點不合需要的進入很長的字符串。我希望在這裏有兩全其美的好地方,你可以像在網絡瀏覽器中那樣登錄和登出。
林不知道,如果一切我要說的是準確的,但似乎符合這個職位:
http authentication in devise and rails 3
在這一崗位上,他說,認證令牌是「從1995年起HTTP基本身份驗證更安全密鑰可以過期「。我認爲他的意思是說,一旦您使用基本身份驗證進行登錄,就是這樣,您永遠登錄,而身份驗證令牌可以使其過期並強制用戶再次登錄。這是準確的解釋嗎?
感謝響應
我注意到您將HTTP方法設置爲POST並設置X-HTTP-Method-Override標頭,而不是將HTTP方法設置爲DELETE。您是否試過 'curl -H'Content-Type:application/json'\ -H'Accept:application/json' -X DELETE \ http:// localhost:3000/users/sign_out \ -d' {「remote」:「true」,「commit」:「退出」,「utf8」:「✓」,「用戶」:{「remember_me」:「1」,「password」:「password」 :「[email protected]」}}'\ -c cookie'? –
我重新格式化了問題,所以現在只是一個是或否的問題。儘管仍然沒有迴應。 – JohnMerlino