我實在無法找到一個明確的答案/方法存在以下問題/問題:獨立的後端(Symfony2中)和前端(AngularJS)REST - 如何驗證
我想有一個Symfony2的後端,可能與FOSRestBundle,它只返回JSON。前端將用AngularJS編寫。
用戶應該只能夠爲我的網站(選項#1)註冊/登錄的帳戶或登錄通過現有的OAuth帳戶,像谷歌或興(選項#2)。當然,認證應該/需要是無狀態的。
由於大多數如何在symfony中驗證RESTFul的例子完全在PHP中(所以即使後端和前端是分離的,前端仍然是PHP)我真的很難找出我如何實現上面的兩個選項。我對後端當前的想法是:
- FOSRestBundle用於處理請求/響應
- FOSUserBundle的註冊,登錄,密碼重置等,爲新用戶
我的問題是:
- 我該如何驗證一個普通用戶(FOSUserBundle)無狀態(選項#1)?在有關如何在單獨的前端使用FOSUserBundle的文檔中找不到任何內容。或者這種情況下是否有更好的捆綁?
- 如果用戶想通過OAuth2提供者(選項#2)驗證應用的哪部分(前端或後端)針對OAuthProvider(例如Google)進行身份驗證?我雖然關於在AngularJS中進行身份驗證(例如,通過oauth-ng模塊),獲取AuthToken並將其發送到後端,在那裏我將用戶與他的ID匹配(希望)從OAuthProvider獲得。
除了問題,如果這種做法是擺在首位正確的,我真的需要有關如何在symfony中實現這一目標的一些提示。我知道,可以在symfony(CustomUserProvicer,CustomAuthentication等)中定製幾乎任何東西,但在閱讀這些細節之前,可能已經有一種簡單的方法來解決我的問題。我的意思是,我不可能是唯一一個想要這個的人...
如果有什麼不清楚的地方,請問!
我發現了這個,但我還沒有使用它:https://github.com/uecode/api-key-bundle我不確定它是否適合你的用例。 –
這可能會幫助您開始使用無狀態/ oauth身份驗證(均已描述):http://symfony.com/doc/current/cookbook/security/api_key_authentication.html –
鏈接很好,我知道它們,但是通過了解了很多再讀一遍。我的問題是,我錯過了「大畫面」。這些捆綁包在我的情況下如何一起工作(請參閱上文)。所以我真正需要知道的是兩種選項(「正常」和OAuth)的完整(註冊和登錄)方式:從AngularJS前端的請求開始,將不同的bundles/symfony部分返回到接收響應的前端。[像這樣](https://docs.google.com/drawings/d/1uTA7gQZ5IEV51Nv-HKR98sKWQNBUhEm0PPueJcoRW7c/edit)不太抽象,更具體到我的需求 – mcode