2016-02-04 2 views
1

Я создаю symfony REST Api, в котором я пытаюсь получить HWIOAuthBundle, FOSUserBundle и LexikJWTBundle, работая вместе.HWIOAuthBundle facebook 443 Плохой доступ

Я следовал за this gist для интеграции HWIOAuthBundle/FOSUserBundle.

Теперь я получаю форму для входа в facebook при попадании в маршрут/логин. Но после того, как submition я получаю эту ошибку:

[2/2] HttpTransportException: Error while sending HTTP request 
[1/2] RequestException: Failed to connect to graph.facebook.com port 443: Bad access 


INFO - Matched route "hwi_oauth_service_redirect". 

CRITICAL - 
Uncaught PHP Exception HWI\Bundle\OAuthBundle\OAuth\Exception\HttpTransportException: 
"Error while sending HTTP request" 
at C:\myProject\vendor\hwi\oauth-bundle\OAuth\ResourceOwner\AbstractResourceOwner.php 
line 257 

DEBUG - 
Notified event "kernel.request" to listener 
"Symfony\Component\EventDispatcher\Debug\WrappedListener::__invoke". 

...

Я сейчас в поисках помощи по этому поводу. Или любой другой способ заставить эти связки работать вместе.

config.yml:

hwi_oauth: 
# list of names of the firewalls in which this bundle is active, this setting MUST be set 
firewall_names: [auth] 

http_client: 
    timeout:  10000 
    verify_peer: false 
    max_redirects: 1000 
    ignore_errors: false 

fosub: 
    username_iterations: 300 
    properties: 
     # these properties will be used/redefined later in the custom FOSUBUserProvider service. 
     facebook: facebook_id 
# an optional setting to configure a query string parameter which can be used to redirect 
# the user after authentication, e.g. /connect/facebook?_destination=/my/destination will 
# redirect the user to /my/destination after facebook authenticates them. If this is not 
# set then the user will be redirected to the original resource that they requested, or 
# the base address if no resource was requested. This is similar to the behaviour of 
# [target_path_parameter for form login](http://symfony.com/doc/2.0/cookbook/security/form_login.html). 
# target_path_parameter: _destination 

# an optional setting to use the HTTP REFERER header to be used in case no 
# previous URL was stored in the session (i.e. no resource was requested). 
# This is similar to the behaviour of 
# [using the referring URL for form login](http://symfony.com/doc/2.0/cookbook/security/form_login.html#using-the-referring-url). 
# use_referer: true 

# here you will add one (or more) configurations for resource owners 
resource_owners: 
    facebook: 
     type:    facebook 
     client_id:   {id} 
     client_secret:  {secret} 
     scope:   "" 
     infos_url:   "https://graph.facebook.com/me?fields=name,email,picture.type(square)" 
     options: 
      display: popup 

security.yml:

firewalls: 
    auth: 
     pattern: ^/api/minisite/user/auth 
     anonymous: true 
     stateless: true 
     form_login: 
      check_path: /api/minisite/user/auth/login_check 
      success_handler: lexik_jwt_authentication.handler.authentication_success 
      failure_handler: lexik_jwt_authentication.handler.authentication_failure 
      username_parameter: username 
      password_parameter: password 
      require_previous_session: false 
     oauth: 
      resource_owners: 
       facebook:  "/api/minisite/user/auth/facebook/login/check-facebook" 
      login_path:  /api/minisite/user/auth/facebook/login 
      check_path: /api/minisite/user/auth/login_check 
      failure_path:  /api/minisite/user/auth/facebook/login 
      oauth_user_provider: 
       #this is my custom user provider, created from FOSUBUserProvider - will manage the 
       #automatic user registration on your site, with data from the provider (facebook. google, etc.) 
       service: my_user_provider 
     logout:  true 
     anonymous: true 

access_control: 
    - { path: ^/api/minisite/user/auth, roles: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/api/minisite, roles: IS_AUTHENTICATED_FULLY } 
+0

Похоже, мне нужно было очистить поле «ip» в учетной записи приложения разработчика facebook. – TrtG

ответ

-1

я получил ту же проблему, используя Хви на локальном хосте. Я не знаю, но если это ваше дело, попробуйте загрузить свою работу на сервер. Причина этой проблемы заключается в том, что вы используете порт 80, но вам нужно использовать порт 443 или использовать ipv6. Надеюсь, что эта помощь

1

Настройте это в файле config.yml.

hwi_oauth: 
     http_client: 
      verify_peer: false 

Установка этого параметра позволяет отключить проверку SSL.

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