【问题标题】:How to enrich/extend Auth class/data in Laravel 5?如何在 Laravel 5 中丰富/扩展 Auth 类/数据?
【发布时间】:2017-09-06 22:21:24
【问题描述】:

在 Laravel 中,在身份验证后访问 Auth Facade 以获取以下用户数据非常有用:

Auth::user()

如果在会话和用户交互期间我想丰富上述调用返回的对象怎么办?也许在用户对我的 web 应用执行某些操作后为其分配一些属性?

例如用户执行快速注册,然后完成一些其他配置文件数据。我希望它们直接在 Auth::user() 中可用,而不是执行后续的数据库查询...

重要 我正在将 Auth0 集成到 Laravel 身份验证中。所以 Auth 背后的默认驱动程序/提供程序不是 Eloquent 而是 Auth0。

Auth0 会返回一个包含所有已验证数据的 Json 对象。

Auth0User->userInfo

我想要实现的是通过将自定义数据添加到会话对象来编辑 Auth0 身份验证后的身份验证数据。

基本上我想使用另一个服务来管理帐户相关数据,并且仅使用 Auth0 来管理用户/密码授予。

【问题讨论】:

  • 您应该使用Auth::user获取每个请求的更新用户对象

标签: laravel authentication


【解决方案1】:

您可以向用户模型添加自定义属性。例如:

public function getTestAttribute()
{
    return session()->get('test', 'defaultValue');
}

可以在应用程序的其他地方设置会话密钥:

session()->put('test', 'otherValue');

【讨论】:

    猜你喜欢
    • 2010-12-14
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    • 1970-01-01
    • 2022-06-12
    • 2020-03-24
    • 2010-12-17
    • 2017-05-04
    相关资源
    最近更新 更多