HWIOAuthBundle:配置参数是什么意思?

时间:2016-01-31 15:59:39

标签: facebook symfony oauth hwioauthbundle

我是一名相当新手的Symfony(v3)开发人员,并尝试使用HWIOAuthBundle在我的Web应用程序上实现Facebook登录。我已经阅读过OAuth2并了解使用授权码的基本工作流程。此外,我在tutorial研究了Facebook的相关内容。我也跟着完整的HWIOAuthBundle tutorial。然而,由于HWIOAuth方面的文档非常稀少,我仍然无法掌握所有的魔法"发生在束内的引擎盖下。

(1)我不完全理解示例Twig Template

(a)如果我理解正确,如果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所示:

(a) routing.yml

  • 的条目是什么

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

有益吗?

(b) security.yml

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

  • /login/check-facebook背后的内容是什么?
  • login_path的目的是什么,/login背后的内容是什么?

1 个答案:

答案 0 :(得分:2)

1)a)否。控制器(link)最终将用户重定向到授权URL它将用户重定向到授权URL

1)b)您可以登录Facebook但过去可能拒绝了该应用。 FB.login再次询问用户权限(这就是范围:电子邮件被添加到那里的原因)

2)a)如果你检查file你会看到它在“/”路径下添加路由,它会在前缀下加载登录路由,这个前缀可以帮助你避免与其他路由发生冲突

2)b)它不是一个真正的路由,它被防火墙拦截以检查用户身份验证。如果你已经实现了一个普通的登录html表单,它与/ login_check相同,那就是你登录html表单动作的地方,但它背后没有控制器。 Symfony的安全性非常灵活,所以它可以让你的头很复杂,我建议你从Sarah Khalil那里看到这个slides。 login_path是您的普通登录表单所在的位置,在这种情况下,它是您的Facebook登录按钮以及您的twig模板的其余部分所在的位置。