我在两个语言环境(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
感谢。