Laravel Facebook 登录 - 无回调(本地主机)

2024-01-01

我的第一个问题:是否可以在本地主机上进行测试? (因为我可以想象这可能是我的问题)

我阅读了文档并按照描述执行了所有操作。我浏览到 /auth/facebook,然后被重定向到 Facebook,在那里我“接受”这些条款。我被重定向到此链接:http://localhost:8000/auth/login#_=_

所以我尝试调试并做了一个dd($user);在我的 Authcontroller 中,但没有给出输出。

    public function redirectToProvider()
    {
        return Socialite::driver('facebook')->redirect();
    }

    public function handleProviderCallback()
    {
        $user = Socialite::driver('facebook')->user();
        dd($user);

        // $user->token;
    }

有人知道我做错了什么吗?


需要查看您的路线配置以获取更多信息,但会根据您提供的信息进行尝试。

请注意,您将被重定向到http://localhost:8000/auth/login#_=_.

看起来您在 Facebook 上授权后被重定向到应用程序的登录页面.

In config/services.php,确保对于您的 facebook 登录配置,您的redirecturl 指向您在路由配置中定义的用于处理回调的路由。

e.g.

// config/services.php
...

'facebook' => [
        'client_id' => 'my_facebook_client_id',
        'client_secret' => 'my_facebook_client_secret',
        'redirect' => 'http://localhost:8000/auth/facebook/callback',
    ],

...

路线http://localhost:8000/auth/facebook/callback然后应该在路由配置中定义:

// app/Http/routes.php
...

Route::get('auth/facebook/callback', 'Auth\AuthController@handleProviderCallback');

...

请注意,路由配置必须允许GET请求,因为用户将被重定向。

Your dd($user)使用此设置应该可以正常工作。


如何保存用户数据取决于您的模型架构。

例如,在一个简单的情况下,您没有其他注册方法并且仅使用 facebook 登录,您可以这样做:

public function handleProviderCallback()
{
    $facebookData = Socialite::driver('facebook')->user();

    // check if already in DB
    try{
        $user = User::where('facebook_id', $data->id)->firstOrFail();
    } catch (Illuminate\Database\Eloquent\ModelNotFoundException $e) {
        // create a new user
        $user = new User();

        // set the properties you want
        // $user->facebook_id = $data->id;
        // ...

        // then save
        $user->save();
    }

    // login the user
    Auth::login($user);

    // perhaps return a redirect response
    return redirect()->action('MyController@myAction');
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel Facebook 登录 - 无回调(本地主机) 的相关文章

随机推荐

  • 我们如何在 iOS 13 的当前 iOS 应用程序中支持深色模式?

    我当前的应用程序是用 objC 和 Swift 开发的 我需要支持暗模式 谁能建议我如何在全球范围内实现这一目标 以下是添加颜色逻辑的代码 该逻辑应出现在深色模式中 if self traitCollection userInterface
  • 如何使用iText在PDF中插入图像并下载到客户端机器?

    我使用 jdbc 从数据库获取数据 然后使用 iText 创建一个可以在客户端计算机上下载的 PDF 文件 该应用程序以 html jsp 编码并在 Apache Tomcat 上运行 我用response getOutputStream立
  • WPF 中的 GridView 动态列宽

  • Pandas - 制作列 dtype 对象或因子

    在 pandas 中 如何将 DataFrame 的列转换为 dtype 对象 或者更好的是 变成一个因素 对于那些会说 R 的人 在 Python 中 我该如何as factor 另外 有什么区别pandas Factor and pan
  • Alamofire 嵌套请求

    我需要向同一个 API 发出三个不同的请求 这些调用都不依赖于其他调用 我目前的请求嵌套如下 API getPopularMovies responseObject error in if let results responseObjec
  • 关于序列点的解释

    最近 我看到很多关于一些疯狂但语法上允许的代码语句的输出的问题 例如i i 1 and i i i i 1 坦率地说 现实中几乎没有人在实际编程中编写任何此类代码 坦白说 在我的专业经验中 我从未遇到过此类代码 所以我通常最终会跳过这样的问
  • Oracle Contains 不起作用

    我的表中有一个列是上下文索引的 CREATE INDEX CIDX MUSTFIXBY ON TABLE MUST FIX BY INDEXTYPE IS CTXSYS CONTEXT NOPARALLEL 我正在尝试使用 where 条件
  • 如何使用 es6 风格导入来导入 MongoDB?

    希望这是一个简单的问题 我正在尝试使用 es6 import from 样式导入 MongoDB 如果我使用 node require 导入它工作正常 let mongo require mongodb let MongoClient mo
  • PowerMock:如何取消模拟方法?

    我有一个静态方法 使用 PowerMock 进行模拟以引发异常 它会删除文件 不幸的是 在我 After after each test 方法 我需要在没有模拟的情况下调用此方法 我怎样才能模拟一个方法 我没有看到相当于Mockito re
  • JQGrid 当 autowidth = true 时如何删除烦人的水平滚动条? (在 IE 中)

    在 IE 中使用 autowidth true 时 我似乎遇到了烦人的水平滚动条 这是怎么回事 我该如何摆脱它 我得到了完美的解决方案 问题出在 CSS 上 在 ui jqgrid css 中 表格布局是固定的 将其设置为自动 它将完美运行
  • ng-repeat 中的 angularJS 过滤器表达式

    我想知道实现这一点的最优雅和最简单的方法是什么 我需要为 ng repeat 添加一个过滤表达式 该表达式将从一个属性中过滤 2 个条件 在这个例子中http plnkr co edit OMQxXvSjtuudMRGE4eZ8 p pre
  • 如何将 Parquet 文件读入 Pandas DataFrame?

    如何在不设置 Hadoop 或 Spark 等集群计算基础设施的情况下将适度大小的 Parquet 数据集读取到内存中的 Pandas DataFrame 中 这只是我想在笔记本电脑上使用简单的 Python 脚本在内存中读取的适量数据 数
  • 将“昨天”设置为 Jquery 日期选择器

    我正在尝试将昨天设置为Jquery datapicker如下 datepicker datepicker setDate new Date getDate 1 然而 我总是得到今天的日期 代码位于 document ready它确实被执行了
  • R 如何从 geotiff 读取 nodatavalue 标签 - R 栅格包

    我遇到了一个不寻常的结果 R 中没有栅格数据值 下面的代码 我有一个没有导入数据值的栅格 9999 QGIS 读取 nodatavalue arcgis 也是如此 R 当读入geotiff时 将nodata值分配给 INF 我不知道为什么
  • Flurry 4.2.2 SDK 未在 iOS 中发送事件会话数据

    我知道 Flurry 的报告有延迟 但是 我们在第二天没有看到 Flurry 报告的任何结果 Flurry setDebugLogEnabled YES Flurry setLogLevel FlurryLogLevelDebug Flur
  • 在 TeamCity 中从外部文件设置构建参数

    我当前正在使用 TeamCity AssemblyInfo Patcher 在所有 C 程序集上设置程序集版本 我选择的版本方案是 Major Minor build number 0 当我在 TeamCity 中定义主要编号和次要编号时
  • 为什么 xamarin 突然不允许我部署到 iOS 设备

    今天 在我收到 xcode 同意新条款和条件的消息后 这种情况才开始发生 我无法在设备上 任何计算机上放置任何内容 不适用于我的 macbook 不适用于我的 mac mini 不适用于直到昨天还正常工作的现有项目 甚至不适用于全新的项目
  • 无限循环 React hooks

    我不明白为什么我会陷入无限循环useClick我看到我改变了里面的状态值使用效果 using setVal但 useEffect 应该只对第二个参数中指定的 onClick 起作用 我认为这是因为我传递的参数 onClick 已被记忆 但回
  • 自定义视图/操作/控制器在 Sails JS 中不起作用

    我一定做错了什么 但我看不到 基本上如果我通过创建一个控制器 模型sails generate controller products并在文件中 controllers ProductsController我向索引操作添加一些变量 例如 i
  • Laravel Facebook 登录 - 无回调(本地主机)

    我的第一个问题 是否可以在本地主机上进行测试 因为我可以想象这可能是我的问题 我阅读了文档并按照描述执行了所有操作 我浏览到 auth facebook 然后被重定向到 Facebook 在那里我 接受 这些条款 我被重定向到此链接 htt