Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook HWIOAuthBundle:没有名为';检查google';_Facebook_Symfony_Google Api_Hwioauthbundle - Fatal编程技术网

Facebook HWIOAuthBundle:没有名为';检查google';

Facebook HWIOAuthBundle:没有名为';检查google';,facebook,symfony,google-api,hwioauthbundle,Facebook,Symfony,Google Api,Hwioauthbundle,我安装了硬件包 但当我尝试使用Google帐户登录时,出现以下错误: 没有名为“检查谷歌”的资源所有者 我和其他API(Facebook,twitter…)有同样的错误 这是我的安全。yml: firewalls: main: pattern: ^/login$ security: true anonymous: true provider: user_provider form_login:

我安装了硬件包

但当我尝试使用Google帐户登录时,出现以下错误:

没有名为“检查谷歌”的资源所有者

我和其他API(Facebook,twitter…)有同样的错误

这是我的安全。yml:

firewalls:
    main:
        pattern:  ^/login$
        security: true
        anonymous: true
        provider: user_provider
        form_login:
            login_path: fos_user_security_login
            check_path: fos_user_security_check
        logout:
            path:   fos_user_security_logout
            target: /
        oauth:
            resource_owners:
                facebook:           "/login/check-facebook"
                google:             "/login/check-google"
                twitter:            "/login/check-twitter"
                linkedin:           "/login/check-linkedin"
            login_path:        /login
            check_path:        /login
            failure_path:      /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
My routing.yml:

#HWIOAuthBundle routes
    hwi_oauth_security:
    resource: "@HWIOAuthBundle/Resources/config/routing/login.xml"
    prefix: /connect/by

hwi_oauth_connect:
    resource: "@HWIOAuthBundle/Resources/config/routing/connect.xml"
    prefix: /connect/by

hwi_oauth_redirect:
    resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"
    prefix:   /login

facebook_login:
    pattern: /login/check-facebook
    options: { i18n: false }

google_login:
    pattern: /login/check-google
    options: { i18n: false }

twitter_login:
    pattern: /login/check-twitter

linkedin_login:
    pattern: /login/check-linkedin
和my config.yml:

# HWIOAuthBundle
hwi_oauth:
    connect:
        account_connector: my_user_provider
    firewall_name: main
    fosub:
        username_iterations: 30
        properties:
            # these properties will be used/redefined later in the custom FOSUBUserProvider service.
            facebook: facebook_id
            google: google_id
            twitter: twitter_id
            linkedin: linkedin_id
    resource_owners:
        facebook:
            type:                facebook
            client_id:           xxxxx
            client_secret:       xxxxx
            scope:               ""
            options:
                display: popup
        google:
            type:                google
            client_id:           xxxx
            client_secret:       xxxx
            scope:               "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile"
        twitter:
            type:                twitter
            client_id:           xxxx
            client_secret:       xxxx
            scope:               ""
        linkedin:
            type:                linkedin
            client_id:           xxxx
            client_secret:       xxxx
            scope:               "r_basicprofile"

services:
    hwi_oauth.user.provider.entity:
        class: HWI\Bundle\OAuthBundle\Security\Core\User\OAuthUserProvider
    cmf_create.persistence.orm.object_mapper:
        class: Midgard\CreatePHP\Mapper\DoctrineOrmMapper
        arguments:
            - "%cmf_create.map%"
            - "@doctrine"

我的问题和你的一样。如何修复此问题?

我的最佳选择是,您的防火墙在“使用*”URL登录时未处于活动状态

尝试更改:

pattern:  ^/login$
我个人使用防火墙访问所有URL:

pattern: ^/
并显式设置公共URL:

access_control:
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin/, role: ROLE_ADMIN }
    - { path: ^/add, role: ROLE_USER }

我也遇到了同样的问题:

No ressource owner with name 'check-google'.
对我来说,通过将routing.yml更改为以下内容解决了此问题:

google_login:
    pattern: /api/login/check/google

我解决了这个问题。我发现这个链接很有用:

在上面的链接中,在我将cacert.pem添加到路径后,它解决了这个问题

HWIOAuthBundle使用Buzz curl客户端与web服务通信。Buzz默认启用SSL证书检查。在某些服务器上,CA证书信息可能不存在。要添加CA证书信息,请从此页面下载cacert.pem,并将curl.cainfo php ini变量设置为cacert.pem的位置,例如 curl.cainfo=/path/to/cacert.pem

我错过了上面的步骤

问候,


Mk6ix

哪个URL引发异常?你能从你的stacktrace中再发一点吗?