[ruby-on-rails] 設計的token_authenticatable安全嗎?



Answers

根據該項目的README,devise_token_auth gem的靈感來自StackOverflow的這篇文章: https://github.com/lynndylanhurley/devise_token_authhttps://github.com/lynndylanhurley/devise_token_auth

Question

我正在使用Rails API構建一個簡單的api,並希望確保我在這裡正確的軌道。 我正在使用設計來處理登錄,並決定使用Devise的token_authenticatable選項,該選項生成您需要隨每個請求發送的API密鑰。

我將API與骨幹/牽線木偶前端配對,我一般想知道如何處理會話。 我的第一個想法是將api密鑰存儲在本地存儲或cookie中,並在頁面加載時檢索它,但是從安全的角度來看存儲api密鑰的方式是困擾我的。 通過查看本地存儲/ cookie或嗅探任何經過的請求來獲取api密鑰並不容易,並使用它來無限期地冒充該用戶? 我目前正在重置每次登錄時的api密鑰,但即使這樣也很頻繁 - 任何時候你登錄任何設備,這意味著你會被其他人登錄,這是一種痛苦。 如果我可以放棄這種重置,我覺得它可以從可用性的角度來改進。

我可能在這裡完全錯了(並且希望我是),任何人都可以解釋這種方式的認證是否可靠安全,如果不是,那將是一個什麼樣的好選擇呢? 總的來說,我正在尋找一種方法,我可以安全地保持用戶'登錄'訪問API,而無需經常強制重新授權。




Related