/ / Symfony 3.3 (HWIOAuthBundle + FOSUserBundle) V argumentoch sa našiel neplatný kľúč „user_manager“ - php, symfony, fosuserbundle, hwioauthbundle

Symfony 3.3 (HWIOAuthBundle + FOSUserBundle) Neplatný kľúč "user_manager" nájdený v argumentoch - php, symfony, fosuserbundle, hwioauthbundle

Práve som aktualizoval aplikáciu Symfony 3.3 a teraz sa zobrazuje toto chybové hlásenie:

V argumentoch metódy sa našiel neplatný kľúč „user_manager“ „__construct ()“ pre službu „app.fos_user.oauth_provider“: iba sú povolené celočíselné alebo $ pomenované argumenty.

Nerozumiem dôvodom tohto problému, tu je moja konfigurácia:

service.yml # app / config / service.yml

app.fos_user.oauth_provider:
class: ECUserBundleEntityFOSUBUserProvider
arguments:
user_manager: "@fos_user.user_manager"
user_response:
facebook: facebook_id

config.yml

# app/config/config.yml

# FOSUserBundle Configuration
fos_user:
db_driver: orm
firewall_name: main
user_class: ECUserBundleEntityUser
use_username_form_type: false

registration:
form:
type: ECUserBundleFormRegistrationType
profile:
form:
type: ECUserBundleFormProfileFormType

from_email:
address: contact@xxxxxxxx.fr
sender_name: xxxxxxxxx

#HWIOAuthBundle
hwi_oauth:
firewall_names: ["main"]
fosub:
username_iterations: 30
properties:
facebook: facebook_id
resource_owners:

facebook:
type:           facebook
client_id:      "%facebook_client_id%"
client_secret:  "%facebook_secret%"
scope:         email
infos_url:     "https://graph.facebook.com/me?fields=id,email,gender,last_name,first_name,birthday,picture.type(square)"
options:
crsf: true

security.yml

# app/config/security.yml
security:

encoders:
ECUserBundleEntityUser: sha512

role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWER_TO_SWITCH]


providers:
main:
id: fos_user.user_provider.username_email

firewalls:

dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false

main:
pattern: ^/
anonymous: true

provider: main

form_login:
login_path: fos_user_security_login
check_path: fos_user_security_check

logout:
path: fos_user_security_logout
target: /

remember_me:
secret: %secret%

#HWIOAuthBundle
oauth:
resource_owners:
facebook: "/connect/check-facebook"

login_path:     /login
failure_path:   /login

oauth_user_provider:
service: app.fos_user.oauth_provider

Predtým, ako všetko fungovalo dobre.

Ďakujem že mi pomáhaš.

odpovede:

3 pre odpoveď č. 1

Vaša služba nie je dobre usporiadaná, pretože by ste mali argumentovať fos.user_manager a) Facebook.

Pokúste sa upraviť poskytovateľa používateľa vo vašom service.yml tak, aby bol napríklad:

hwi_oauth.user.provider.entity:
class: ECUserBundleEntityFOSUBUserProvider
#this is the place where the properties are passed to the UserProvider - see config.yml
arguments: ["@fos_user.user_manager",{facebook: facebook_id}]