我是Laravel的新手,然后我按照http://www.codeanchor.net/blog/complete-laravel-socialite-tutorial/上的教程,通过Facebook登录用户进入我的应用程序 . 然而,几乎在任何地方我都会找到使用Github或Twitter的教程,用于Laravel中提供的Socialite插件 .
我的问题是,在按照教程中的所有内容进行操作时,当我点击“登录到Facebook”按钮时,它会抛出“无效的参数异常”,并指定了没有社交名称的驱动程序 . “
另一个堆栈溢出问题似乎缩小了范围:https://stackoverflow.com/questions/29673898/laravel-socialite-invalidargumentexception-in-socialitemanager-php-line-138-n
说明问题出在config / services.php中
现在,我有app_id和app_secret . 但是,重定向链接似乎令人困惑,因为我在Facebook上也找不到它 . 我知道这是我的应用程序应该去Facebook登录的地方,但不确定它应该是什么 .
有没有人对此有任何想法 .
3 回答
在你的composer.json中添加
"laravel/socialite": "~2.0",
运行
composer update
在 config/services.php 添加:
你需要创建两条路线,我的是这样的:
您还需要为上面的路由创建控制器,如下所示:
最后将网站URL添加到您的Facebook应用中,如下所示:
更新2018 - laravel 5.6 - socialite 3.0
看起来/应该很简单的东西有点棘手,但无论如何这就是我让事情适合我的方式 .
服务器端
你可以在socialite docs找到这些说明和更多细节
安装
配置
在 config/services.php 添加
在 .env 文件中添加
在 routes/web.php 添加
在 App\Http\Controllers\Auth 添加新控制器 FacebookController.php
Facebook方面
转到https://developers.facebook.com/apps并创建新的应用程序(如果您还没有)
并使你的应用程序设置如下所示:
重要提示
如果您在本地计算机上进行开发,则必须使用ngrok之类的工具来提供与本地主机的安全链接 .
在facebook登录设置中更改https://www.example.com, url 由 ngrok 提供,如 https://8b0215bc.ngrok.io .
这是我在本地机器上进行开发时唯一有效的方法 .
在config / services.php文件下创建提供程序
现在您可以使用以下代码创建控制器
这是你的路线