首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自事件侦听器的Laravel 7 Auth::login

来自事件侦听器的Laravel 7 Auth::login
EN

Stack Overflow用户
提问于 2020-10-20 03:49:27
回答 1查看 326关注 0票数 1

我正在尝试集成SAML登录和Laravel会话。在成功登录SAML之后,用户被重定向到laravel应用程序,在那里会触发一个SamlLogin事件,并传递用户信息。我有一个用于登录的事件侦听器,我试图将来自SAML的用户与来自本地数据库的用户进行匹配,然后使用Auth::SamlLogin ()手动对其进行身份验证。在手动身份验证之后,用户被重定向到事件侦听器中的Home控制器,用户已成功通过身份验证

但是,当我尝试使用Auth:: user ()在Homecontroller中获取用户时,会话中没有可用的用户。

我遗漏了什么?在监听程序或控制器中,我应该显式地使用web guard还是以任何方式引用会话?

下面是事件处理程序

代码语言:javascript
复制
public function handle(SamlLogin $event)
{
    /* @var \SimplerSaml\User */
    $samlUser = $event->user;

    $user = User::firstOrCreate([
        'email' => $samlUser['email']
    ], [
        'name' => $samlUser['name'],
    ]);

    Auth::login($user, true);
    redirect()->route('home');
}

这是控制器方法

代码语言:javascript
复制
   public function index()
{
    $userName = Auth::user()->name;
    return view('home');
}

我遇到错误的地方:试图获取非对象的属性'name‘

EN

回答 1

Stack Overflow用户

发布于 2020-10-20 16:00:40

尝试在处理函数中使用Auth::loginUseingId($user->id)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64434258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档