传递给 Illuminate\Auth\Guard::login() 的参数 1 必须实现接口 Illuminate\Auth\UserInterface,给定 open 为 null:

2023-11-22

我使用 OAuth2 执行 Facebook 登录,然后使用 Laravel 4 的内置身份验证系统让用户在重新访问时重新登录。对于大多数用户来说,我认为我所拥有的没有任何问题,但对于一名用户来说,他在登录时看到以下错误:

ErrorException
Argument 1 passed to Illuminate\Auth\Guard::login() must implement interface Illuminate\Auth\UserInterface, null given
open: */nfs/c09/h04/mnt/139243/domains/crowdsets.com/vendor/laravel/framework/src/Illuminate/Auth/Guard.php
*        /**
        * Log a user into the application.
        *
        * @param  \Illuminate\Auth\UserInterface  $user
        * @param  bool  $remember
        * @return void
        */
       public function login(UserInterface $user, $remember = false)
       {
               $id = $user->getAuthIdentifier();

以下是控制器中的相关登录/身份验证代码:

$check = Fan::where('fbid', '=', $user['uid'])->first();

                if(is_null($check)) {

                  $fan = new Fan;

                  $fan->fbid = $user['uid'];
                  $fan->email = $user['email'];
                  $fan->first_name = $user['first_name'];
                  $fan->last_name = $user['last_name'];
                  $fan->gender = $user['gender'];
                  $fan->birthday = $user['birthday'];
                  $fan->age = $age;
                  $fan->city = $city;
                  $fan->state = $state_abbrev;
                  $fan->image = $user['image'];
                  $fan->friend_ids_url = $user['friends'];
                  $fan->friend_ids_unpacked = $friend_ids;

                  $fan->save();

                  $new = Fan::where('fbid', '=', $user['uid'])->first();

                  Auth::login($new);
                  return Redirect::to('fans/home');

                }

               else {

                  Auth::login($check);

                  $fan = Fan::find(Auth::user()->id);
                  $fan->image = $user['image'];
                  $fan->save();

                  return Redirect::to('fans/home');
                  var_dump($user);

               }

这是我用来保存用户信息的表模型中的代码,称为“粉丝”:

<?php

use Illuminate\Auth\UserInterface;

class Fan extends Eloquent implements UserInterface {
    protected $guarded = array();

    public static $rules = array();

    public function getAuthIdentifier() 
{ 
return $this->getKey(); 
}


public function getAuthPassword() 
{ 
return $this->password; 
}

这非常令人困惑,因为此登录适用于我尝试过的所有其他配置文件。只有这位朋友的个人资料才会引发此错误。我还将添加,在登录(或重试)时,它将在数据库/表中为此用户创建多个条目。建立这个认证系统就是为了防止这种情况发生。我有什么遗漏的吗?


在 LoginController 的 create() 方法中,您必须返回 $user

protected function create(array $data)
    {
        $user = User::create([
            'username' => $data['username'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);

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

传递给 Illuminate\Auth\Guard::login() 的参数 1 必须实现接口 Illuminate\Auth\UserInterface,给定 open 为 null: 的相关文章

随机推荐

  • 在java中获取正确的本地时间(日历)

    我用这个方法来获取当地时间 Calendar cal Calendar getInstance String time new SimpleDateFormat dd MMM yyyy HH mm ss format cal getTime
  • 确认 Apache Passenger 部署:模型中的 Rails 访问会话

    我正在使用它来访问模型中的会话 http www zorched net 2007 05 29 making session data available to models in ruby on rails 有人能确认它也适用于 Apac
  • 当 DISPLAY 未定义时使用 matplotlib 生成 PNG

    我正在尝试将 networkx 与 Python 一起使用 当我运行该程序时 出现此错误 有什么遗漏吗 usr bin env python import networkx as nx import matplotlib import ma
  • JAXB 在 Java 5 下工作吗?

    使用 Maven 构建我得到 包 javax xml bind annotation 不存在 我需要什么才能使 JAXB 与 Java 5 配合使用 JAXB API 捆绑在 JDK1 6 中 但在 JDK 我有一个用 JDK1 6 编写的
  • 在 numpy 中使用屏蔽数组进行索引

    我有一些代码尝试在另一个数组指定的索引处查找数组的内容 该索引可能指定超出前一个数组范围的索引 input np arange 0 5 indices np array 0 1 2 99 我想做的是这样的 打印输入 索引 并得到 0 1 2
  • 改进的命名策略在 Hibernate 5 中不再起作用

    我有简单的 spring jpa 配置 其中配置了 HibernateImprovedNamingStrategy 这意味着如果我的实体类有一个变量userName 那么 Hibernate 应该将其转换为user name用于查询数据库
  • 在 QRubberband 上实现调整大小手柄? QSizeGrip 相关吗?

    我想让我的QRubberband实例用户可调整大小 我见过这个问题here但没有解决办法 用例是 用户可以在照片上拖出选择框 然后通过拖动来进行微调QRubberband边距以更改几何图形 或通过拖动选择来重新定位现有几何图形 我已经实现了
  • 在IOS 11中,后台的DeviceMotion停止工作

    我的应用程序在后台报告并记录位置 高度 旋转和加速度计数据 DeviceMotion 这在 ios 10 3 3 上运行良好 在 iOS 11 上 设备锁定时我无法再访问运动数据 不过 高度数据和位置数据仍在传输到控制台 IOS 11 中是
  • Excel 数据透视表 - 多列

    我正在尝试使用以下数据在 Excel 中创建数据透视表 我试图得出的最终结果 使用枢轴 是这样的摘要 但是我不知道如何让 Excel 计算 添加 考虑所有列 我可以为每个单独的字段 列创建一个数据透视表 但无法弄清楚如何将数据编译在一起 请
  • Lua 中元方法的继承

    我非常喜欢 programming in lua 16 1 16 2 中如何描述面向对象编程 http www lua org pil 16 1 html http www lua org pil 16 2 html 并愿意遵循这种方法 但
  • 如何在flutter中获取唯一的设备ID?

    在 Android 中我们有 Settings Secure ANDROID ID 我不知道 iOS 的等效项 有没有flutter插件或者一种方法可以在flutter中获取Android和IOS的唯一设备ID 空安全代码 Use 设备信息
  • UML 图表在“现实世界”中使用的频率如何? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 几乎我的每一门编程课程都使用了 UML 但没有人真正解释过它何时何地可以在专业环境中使用 是否对项目中的每个文件都执行了此操作 或者是否有一些您何时需要使用它的经验法则 另外 它更常见的是
  • 如何在 Javascript 中检测 ALT 键被按下?

    We are creating a web user interface that looks like a desktop window Now we need to handle the Alt key When Alt key is
  • 如何在 apollo 客户端中将 Mutations 链接在一起

    我的状态中存储了一堆信息 我需要使用突变将其传递到我的 graphQL 服务器 但我需要在调用下一个突变之前使用每个突变的结果 因为我需要 在我的数据库中创建一个新对象 使用为该对象生成的 id 创建另一个对象 修改原对象 存储第二个对象生
  • 使用python通过串口发送十六进制

    这个周末我要做一个小项目 我有一个太阳能电池逆变器 丹佛斯 ULX 3600i 我将尝试将其连接到我的 Linux 机器 看看我是否可以从中获取数据 创建多少能量 例如统计数据 其上有一个用于RJ45连接的输入 但带有RS485 我用电缆通
  • 密度图下的面积不等于 1

    我正在尝试使用 ggplot 绘制概率密度图 我的问题是曲线下的面积不等于一 感谢建议 示例图表 生成此图表的代码如下 Y 轴看起来像是小型垃圾箱的计数 而不是落入该垃圾箱的概率 示例代码here 是我在准备此图表时借鉴的来源之一 示例代码
  • Spring JavaConfig:为自定义 Servlet 添加映射

    在基于 javaconfig 的 Spring 4 0 项目中 如何将某个 URL 的映射添加到除 Spring DispatcherServlet 之外的 Servlet 我的情况是 我想使用 H2 数据库中的 h2console 该数据
  • 尝试了解编写 Python/C++ 混合体的链接过程

    我想开始更多地了解如何使用 SWIG 和其他方法来连接 Python 和 C 首先 我想编译这个简单的程序另一个帖子 include
  • Android,前置和后置摄像头方向,横向

    在我的相机应用程序中 您可以在前置摄像头和后置摄像头之间切换 当我用后置摄像头拍照时 图片与预览所示相同 但是当我切换到前置摄像头时 图片是镜像的 我认为这与前置和后置摄像头处于横向模式有关 我已经尝试了几乎所有给出的答案 如果有人能指出我
  • 传递给 Illuminate\Auth\Guard::login() 的参数 1 必须实现接口 Illuminate\Auth\UserInterface,给定 open 为 null:

    我使用 OAuth2 执行 Facebook 登录 然后使用 Laravel 4 的内置身份验证系统让用户在重新访问时重新登录 对于大多数用户来说 我认为我所拥有的没有任何问题 但对于一名用户来说 他在登录时看到以下错误 ErrorExce