HWIOAuthBundle facebook 443 Плохой доступ

Я создаю symfony REST Api, в котором я пытаюсь заставить HWIOAuthBundle, FOSUserBundle и LexikJWTBundle работать вместе.

Я следовал этой сути для интеграции HWIOAuthBundle/FOSUserBundle.

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

[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

безопасность.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 }

person TrtG    schedule 04.02.2016    source источник
comment
Похоже, мне нужно было только очистить поле ip в учетной записи разработчика facebook.   -  person TrtG    schedule 09.02.2016


Ответы (2)


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

    hwi_oauth: 
        http_client: 
            verify_peer: false

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

person Dilip Raya    schedule 09.06.2017

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

person Soro Mamadou    schedule 05.05.2016