我在我的symfony 2.6项目中使用fosuserbundle进行登录和注册。 现在我想允许用户通过Facebook或谷歌帐户登录。
我想使用来自这里的朋友的Oauth2库https://packagist.org/packages/friendsofsymfony/oauth2-php
我使用" friendsofsymfony / oauth2-php":" 1.1。* @ dev"安装了库。在composer.phar和更新的供应商。但是我无法找到可以显示在登录时配置和使用的步骤的文档。
它应该与fosuserbundle一起使用。任何人都可以建议我在哪里可以获得步骤如何在我的项目中使用Oauth2库?
答案 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