使用symfony2中的Oauth2库登录facebook或谷歌



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

我想使用Oauth2的朋友库,从这里开始https://packagist.org/packages/friendsofsymfony/oauth2-php

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

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

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

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

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

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

您可以很容易地添加谷歌或HWIOAuthBundle中的任何其他资源所有者。但是,您还需要重写一个位用户提供程序。

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

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

但对于Symfony3来说,有必要进行两次更改。第一:

在文件的代码中:Symfony3上的services.yml是其他位置,正确的位置是://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

相关内容

  • 没有找到相关文章

最新更新