У меня есть приложение Symfony, доступное в двух локалях (fr/en). Я использовал HWIOAuthBundle для подключения своих пользователей с помощью GenericOAuth2ResourceOwner. Проблема в том, что когда пользователь просматривает сайт на английском языке и подключается с помощью Oauth, он затем перенаправляется на сайт на французском языке, который является локалью по умолчанию. Это происходит потому, что я теряю локаль, когда человек покидает сайт, чтобы подключиться к службе.
Я нашел этот вопрос о той же проблеме, но с использованием GoogleResourceOwner: Smfony2: HWIOauthBundle: использование нескольких языков
Решение не работает для меня, но я думаю, что это связано с другой конфигурацией для этого владельца ресурса. Я также думал об установке локали в сеансе или в файле 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
безопасность.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
Спасибо.