2016-09-27 43 views
1

我一直在用HWIOAuthBundle與整整一天戰鬥,我無法得到它所需要的。Symfony 3,HWI OAuth with Doctrine,自動註冊,無FOS UserBundle

我想要oauth-only登錄,所以沒有表單登錄,沒有註冊,一切都通過oauth。我想在他們首次登錄時使用我從oauth獲得的個人資料數據自動創建新的用戶帳戶。我不想使用FOS UserBundle,因爲我沒有看到它提供給我的是我真正需要的功能(我在其他項目中使用它)。

現在我實現了我自己的用戶提供程序,從包含的EntityUserProvider繼承,我在每個方法中引發異常,只是爲了查看它從哪裏獲取用戶數據,而沒有一個被觸發。

於是我正式放棄並向社區尋求幫助。這裏是我的CONFIGS:

security: 

providers: 
    oauth: 
     id:    campfire.user_provider 

firewalls: 
    # disables authentication for assets and the profiler, adapt it according to your needs 
    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 

    secured_area: 
     anonymous: ~ 
     oauth: 
      resource_owners: 
       facebook:  "/login/check-facebook" 
       google:   "/login/check-google" 
      login_path:   /login/ 
      use_forward:  false 
      failure_path:  /login/ 

      oauth_user_provider: 
       oauth:   ~ 

access_control: 
    - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } 



services: 

    campfire.user_provider: 
    class:  CampfireBundle\Security\OAuthUserProvider 
    arguments: ["@doctrine", CampfireBundle\Entity\Author, {facebook: facebook_id, google: google_id}] 

config.yml設置根據文檔,因爲它包含了我的客戶ID和祕密沒有張貼。

我在做什麼錯,它顯然不是打電話給我的用戶提供者?

回答

1

很久以前,恐怕我放棄了HWIOAuthBundle,因爲幾乎不可能發展。幸運的是,使用新的Guard組件,它要容易得多。我已經使用下面的包和示例代碼文件在網站上實現了與Linkedin一起登錄,其中用於允許用戶名的確認/選擇的表單,但如果您接受名稱提供的表單OAuth源。

+0

我覺得Guard是更容易實現,所以儘管這並不直接回答這個問題,它可能是最好的答案。 – Tom

相關問題