使用symfony2中的Oauth2库登录facebook或google

时间:2015-03-05 06:56:34

标签: oauth-2.0 fbconnect symfony-2.5

我在我的symfony 2.6项目中使用fosuserbundle进行登录和注册。 现在我想允许用户通过Facebook或谷歌帐户登录。

我想使用来自这里的朋友的Oauth2库https://packagist.org/packages/friendsofsymfony/oauth2-php

我使用" friendsofsymfony / oauth2-php":" 1.1。* @ dev"安装了库。在composer.phar和更新的供应商。但是我无法找到可以显示在登录时配置和使用的步骤的文档。

它应该与fosuserbundle一起使用。任何人都可以建议我在哪里可以获得步骤如何在我的项目中使用Oauth2库?

3 个答案:

答案 0 :(得分:3)

您可以使用HWIOAuthBundle启用Facebook或Google以及更多社交网络的登录。 以下是有关如何在应用程序中设置此捆绑包的教程:https://gist.github.com/danvbe/4476697

此外,如果您使用此捆绑包,您应该检查我的要点:https://gist.github.com/antoinemineau/8836621#file-fosubuserprovider-php-L47,我添加了一个if语句,如果api没有按预期响应,则会阻止执行代码。

答案 1 :(得分:0)

以下是如何通过Facebook https://github.com/stfalcon-studio/lost-and-found

登录的示例

它使用 HWIOAuthBundle + FOSUserBundle +自定义用户提供程序

您可以轻松添加位于HWIOAuthBundle中的Google或任何其他资源所有者。但是,您还需要重写一点用户提供程序。

答案 2 :(得分:0)

这个答案是正确的:https://stackoverflow.com/a/28879098/2400373

我使用本手册进行整合: https://gist.github.com/danvbe/4476697

但Symfony3需要进行两项修改。 第一:

在文件代码中:services.yml上的Symfony3是其他位置,正确的位置是://app/config/services.yml并更改此行:

arguments: [@fos_user.user_manager,{facebook: facebook_id, google: google_id}]

为此:

arguments: ['@fos_user.user_manager',{facebook: facebook_id, google: google_id}]

第二次更改位于文件中://app/config/routing.yml

更改此行:

pattern: /login/check-facebook

为此:

path: /login/facebook