2016-01-31 6 views
0

Я довольно начинающий разработчик Symfony (v3) и пытаюсь реализовать вход в Facebook на своем веб-приложении с помощью HWIOAuthBundle. Я уже прочитал OAuth2 и понимаю базовый рабочий процесс с использованием кода авторизации. Кроме того, я изучил релевантность Facebook по адресу tutorial. Также я следовал за полным HWIOAuthBundle tutorial. Однако из-за очень редкой документации imho на стороне HWIOAuth я все еще не в состоянии понять «все волшебство», которое происходит под капюшоном внутри пучка.HWIOAuthBundle: что означают параметры конфигурации?

(1) Я не совсем понимаю, к примеру Twig Template:

(а) Если я правильно понимаю, если response.status === 'connected' то Facebook уже вернул маркер доступа. В шаблоне выполняется вызов url("hwi_oauth_service_redirect", {service: "facebook"}). Правильно ли я полагаю, что контроллер, стоящий за сервисом, затем загружает остальную информацию пользователя из Facebook, а затем вызывает сконфигурированный oauth_user_provider, чтобы начать процесс аутентификации в symfony?

(b) Если response.status не равен connected, тогда пользователь еще не авторизовался (либо не в Facebook, либо не в приложении). В шаблоне Twig снова выполняется перенаправление на url("hwi_oauth_service_redirect", {service: "facebook"}). Почему же тот же контроллер называется и что он делает?

(2) Я не понимаю, все параметры конфигурации, как показано на HWIOAuthBundle tutorial:

(а) routing.yml:

  • Что такое запись для

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

хорошо для?

(б) security.yml:

oauth: resource_owners: facebook: "/login/check-facebook" login_path: /login failure_path: /login

  • Что за /login/check-facebook?
  • Какова цель login_path, что стоит за /login?
+0

Здесь у вас есть полный рабочий пример, как реализовать вход через facebook: https://gist.github.com/danvbe/4476697 – malcolm

+0

Спасибо за публикацию, но я уже наткнулся на это и узнал, что, к сожалению, это просто еще один готовый - создана для использования. Однако я хотел бы разобраться в специфике HWIOAuthBundle (см. Вопросы выше), и просто взглянув на готовые к использованию конфигурации, я не полностью отвечаю на мои открытые вопросы. – user38931

+0

Итак, если вы не можете понять, что происходит в этой ссылке, сначала вы должны изучить основы symfony/PHP. – malcolm

ответ

2

1) а) Нет. Контроллер (link) заканчивает тем, что перенаправляет пользователя к URL-авторизации перенаправляет пользователя на URL авторизации

1) б) Вы можете быть зарегистрированы в Facebook, но вы возможно, отклонил приложение в прошлом. FB.login снова запрашивает у пользователя разрешение (поэтому там добавляется область: электронная почта)

2) a) он загружает маршруты входа в префикс, если вы проверите, что file вы увидите, что он добавляет маршрут по пути «/» префикс помогает избежать конфликтов с другими вашими маршрутами.

2) б) это не настоящий маршрут, который он перехватывает брандмауэром, чтобы проверить авторизацию пользователя.Если вы внедрили обычную форму html для входа в систему, это то же самое, что и/login_check, это то, где ваше действие в форме html для входа в систему, но за ним нет контроллера. Безопасность Symfony чрезвычайно гибкая, поэтому может быть немного сложнее обернуть вокруг вас голову. Я рекомендую вам увидеть это slides от Сары Халил, где она это объясняет. login_path - это место, где будет существовать обычная форма входа в систему, в этом случае будет ваша кнопка входа в facebook и остальная часть вашего шаблона ветки.

+0

Я думаю, что ConnectController.php - хороший файл для начала изучения. – user38931

 Смежные вопросы

  • Нет связанных вопросов^_^