У меня есть страница входа с аутентификацией OAuth (FOSUserBundle + HWIOAuthBundle). Работает с Google и Facebook.
Когда я пытаюсь войти с моей учетной записью Yahoo, я просто перенаправляюсь на свою страницу входа без ошибок. Если я нажимаю на кнопки Google или Facebook, меня перенаправляют на страницу разрешений в обычном режиме.
Я не вижу причин для проблем, и не понимаю, почему нет никаких исключений.
В config.yml:
hwi_oauth:
firewall_name: main
fosub:
username_iterations: 30
properties:
facebook: facebook
google: google
yahoo: yahoo
resource_owners:
facebook:
type: facebook
client_id: my_f_cid
client_secret: my_f_sk
scope: "email"
yahoo:
type: yahoo
client_id: my_y_cid
client_secret: my_y_sk
scope: "email"
google:
type: google
client_id: my_g_sid
client_secret: my_g_sk
scope: "email"
На security.yml:
security:
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
login_path: /login
check_path: /login_check
oauth:
failure_path: /login
login_path: /login
resource_owners:
facebook: "/login/check-facebook"google: "/login/check-google"yahoo: "/login/check-yahoo"
В routing.yml:
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"
fos_user_profile:
resource: "@FOSUserBundle/Resources/config/routing/profile.xml"prefix: /profile
fos_user_register:
resource: "@FOSUserBundle/Resources/config/routing/registration.xml"prefix: /register
fos_user_resetting:
resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"prefix: /resetting
fos_user_change_password:
resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"prefix: /profile
hwi_oauth_redirect:
resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"prefix: /login
hwi_oauth_connect:
resource: "@HWIOAuthBundle/Resources/config/routing/connect.xml"prefix: /login
hwi_facebook_login:
pattern: /login/check-facebook
hwi_google_login:
pattern: /login/check-google
hwi_yahoo_login:
pattern: /login/check-yahoo
Кнопки входа в систему:
<a id="btn-facebook" href="http://localhost:8000/app_dev.php/login/facebook">
<img src="/bundles/auth/images/social_login_facebook.png">
</a>
<a id="btn-google" href="http://localhost:8000/app_dev.php/login/google">
<img src="/bundles/auth/images/social_login_google.png">
</a>
<a id="btn-yahoo" href="http://localhost:8000/app_dev.php/login/yahoo">
<img src="/bundles/auth/images/social_login_yahoo.png">
</a>
Задача ещё не решена.
Других решений пока нет …