我一直在用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和祕密沒有張貼。
我在做什麼錯,它顯然不是打電話給我的用戶提供者?
我覺得Guard是更容易實現,所以儘管這並不直接回答這個問題,它可能是最好的答案。 – Tom