1
我正在使用FosUserBundle來處理我的應用程序登錄/註冊工作流程。然後,我需要在註冊時獲取用戶的密碼,因爲我想通過使用帶有FOSOAuthServer軟件包的grant_type=password
工作流來生成訪問令牌。使用FOSUser包註冊時獲取用戶的明碼密碼
FOSUserEvents::REGISTRATION_INITIALIZE
:無密碼這裏FOSUserEvents::REGISTRATION_SUCCESS
:我用下面的事件試圖平原密碼,但在數據庫中沒有用戶,因爲該事件是用戶創建
FOSUserEvents::REGISTRATION_COMPLETED
前右又叫:用戶是在數據庫中創建的,但$event->getUser()->getPlainPassword()
返回null,因爲在創建用戶時,方法$userManager->updatePassword()
將plainPassword
屬性設置爲空
你有什麼安全的想法,我該如何處理?我有主的想法,但我不知道這是否是做的正確方法:
- 放入會話密碼上
FOSUserEvents::REGISTRATION_SUCCESS
並生成訪問令牌然後刪除密碼FOSUserEvents::REGISTRATION_COMPLETED
- 覆蓋用戶管理器類,使
$userManager->updatePassword()
做沒有呼叫$userManager->eraseCredentials()
的方法和使用它的註冊(不surehow做)
乾杯傢伙:)