如何将HWIOAuthBundle与本地化站点一起使用?

时间:2016-10-19 13:49:29

标签: php symfony oauth oauth-2.0 hwioauthbundle

我在两个语言环境(fr / en)中提供了一个Symfony应用程序。我使用HWIOAuthBundle使用GenericOAuth2ResourceOwner连接我的用户。问题是当用户用英语浏览网站并使用Oauth连接时,他会被重定向到法语网站,这是默认的语言环境。发生这种情况是因为当用户离开站点连接到服务时,我会松开语言环境。

我发现这个问题与使用GoogleResourceOwner有关同一问题:Smfony2 : HWIOauthBundle : Using multiple locales

解决方案并不适合我,但我认为这是因为此资源所有者的配置不同。我还考虑过在会话或cookie上设置语言环境,但我认为这只是一种解决方法。

是否有人知道如何使用通用2资源所有者解决此问题?

这是我当前的配置。

config.yml:

hwi_oauth:
    firewall_names:         [secured_area]
    resource_owners:
        my_resource_owner:
            type:                oauth2
            client_id:           "%oauth_client_id%"
            client_secret:       "%oauth_client_secret%"
            access_token_url:    https://external.url/oauth2/token
            authorization_url:   https://external.url/oauth2/authorize
            infos_url:           https://external.url/oauth2/userinfo
        scope:               "read"
        user_response_class: HWI\Bundle\OAuthBundle\OAuth\Response\PathUserResponse
        paths:
            identifier: id
            nickname:   username
            realname:   fullname
            email:      email

security.yml:

firewalls:
   secured_area:
       anonymous: ~
       oauth:
           resource_owners:
               my_resource_owner: "/check-oauth" 
           login_path:        /oauth
           use_forward:       false
           failure_path:      /oauth

           # using default hwi oauth provider
           oauth_user_provider:
               service: hwi_oauth.user.provider

感谢。

0 个答案:

没有答案