簡體   English   中英

Symfony2 - 沒有會話cookie的有狀態API密鑰身份驗證

[英]Symfony2 - Stateful API key authentication without session cookie

我跟着這篇關於Symfony API密鑰認證的文章:

http://symfony.com/doc/current/cookbook/security/api_key_authentication.html

它很好地解釋了身份驗證部分,但它似乎沒有解釋請求之間的狀態如何在正常會話之外工作。

但在某些情況下(如OAuth流),令牌可能只在一個請求上發送。 在這種情況下,您需要對用戶進行身份驗證並將該身份驗證存儲在會話中,以便用戶為每個后續請求自動登錄。

這是有道理的,但如果只在第一個提供令牌,用戶如何在后續請求中鏈接回會話? 我不能使用會話cookie,因為CORS限制不允許我這樣做。

我基本上試圖實現的是一個API,我可以將登錄憑據POST,以換取允許我將請求鏈接回會話的訪問令牌。

任何人都可以幫助填補一些空白,或建議更好的方法嗎?

這是有道理的,但如果只在第一個提供令牌,用戶如何在后續請求中鏈接回會話?

如果您使用本機會話處理程序,只要您在Symfony中請求會話,您的會話和會話ID以及會話cookie就會由PHP的會話處理程序自動發送到客戶端。

我不能使用會話cookie,因為CORS限制不允許我這樣做。

然后,您不能使用僅在最開始(第一個請求)提供安全密鑰的身份驗證機制,而不會在后續請求中發送任何其他api密鑰。

我基本上試圖實現的是一個API,我可以將登錄憑據POST,以換取允許我將請求鏈接回會話的訪問令牌。

然后完成鏈接文檔正在做的事情。 為接受憑證並返回api密鑰的每個人提供額外的路由(不受保護)。 然后在所有后續請求中使用該api密鑰,如鏈接文檔中所述。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM