2015-08-10 3 views
2

Пытается использовать оба пакета с последними Symfony (V: 2.7.2).Как установить HWIOAuthBundle с FOSOAuthServerBundle

FOSOauth установлен и работает нормально, но добавление HWIOAuthBundle не так уж и просто. После обучения на родном read.me привел меня к этому:

  • услуга «hwi_oauth.security.oauth_utils» имеет зависимость от несуществующей службы «hwi_oauth.resource_ownermap.api».

Как установить эти два вместе?

+0

Здравствуйте, вы нашли способ сделать это? –

ответ

1

Кажется, вы не настроены должным образом OAuth раздела в брандмауэре (security.yml файла) вы хотите HWIOAuthBundle работать. Например, с Facebook:

// app/config/config.yml 

hwi_oauth: 
    firewall_name: main 
    resource_owners: 
     facebook: 
      type: facebook 
      ... 

Затем вам нужно настроить главный брандмауэр

// app/config/security.yml 

main: 
    pattern: ^/ 
    oauth: 
     resource_owners: 
      facebook: "/login/check-facebook" 
     oauth_user_provider: 
      service: my_custom_oauth_user_provider 
    ... 

Не забудьте объявить facebook Войти проверить маршрут

// app/config/routing.yml 

facebook_login: 
    path: /login/check-facebook 

и вам также необходимо создать провайдера пользователя (сам комплект has some built-in providers, что вы можете расширить и изменить) и зарегистрировать его в качестве службы

// app/config/services.yml 

my_custom_oauth_user_provider: 
    class: AppBundle\Security\OAuthUserProvider 

Как ваш вопрос, как настроить HWIOAuthBundle с FOSOAuthServerBundle, есть очень полное руководство о том, как достичь этого: A way to integrate FosUserBundle and HWIOAuthBundle

0

You необходимо добавить новый брандмауэр (например, secure_area) с методом аутентификации «oauth».

Например:

security: 
    firewalls: 
     secured_area: 
      anonymous: ~ 
      oauth: 
       resource_owners: 
        facebook:   "/login/check-facebook" 
        google:    "/login/check-google" 
        my_custom_provider: "/login/check-custom" 
        my_github:   "/login/check-github" 
       login_path:  /login 
       use_forward:  false 
       failure_path:  /login 

       oauth_user_provider: 
        service: my.oauth_aware.user_provider.service 

Вы можете найти эту информацию here

Смежные вопросы