我正在使用Laravel 5.1从api中检索数据并将其显示在网站上。
每当我在标题中发送带有JWT令牌的任何请求时,api都会返回auth用户。
当用户登录一次后,我会在每次请求中发送令牌。
我想要一种可以在每个视图中查看auth用户及其详细信息的方法。
1)如何设置对User类的响应,以便稍后可以在视图中将其用作Facade? p>
2)如何检索身份验证用户?
3)如何检查是否有auth用户?
答案在Json
"feed": {...}
"auth": {
"id": 1,
"name": "Hetu Nandu",
"title": "Student",
"kp": 43,
}
答案 0 :(得分:1)
对 Auth :: user()的调用会返回当前已通过身份验证的用户。由于您希望在远程用户存储中重用现有的身份验证功能,因此您需要做一些事情。
首先,您需要一个将用于身份验证的User类。它需要实现 Authenticatable 接口。您需要此接口的唯一方法是 getAuthIdentifier() - 它应返回给定用户的唯一标识符。此标识符保存在会话中,稍后用于为后续请求重新加载已使用的数据。您可以返回 JWT令牌。
接下来,您需要在Laravel中对用户进行身份验证。你可以用
来做Auth::login($user)
这将在会话中存储用户的标识符。
最后,您需要一种方法来为后续请求加载用户数据。您需要实现自定义用户提供程序 - 它非常简单。您可以在文档中找到一个示例:https://laravel.com/docs/5.1/authentication#adding-custom-authentication-drivers