laravel jwtAuth 验证凭据
Posted
技术标签:
【中文标题】laravel jwtAuth 验证凭据【英文标题】:laravel jwtAuth validate credentials 【发布时间】:2016-09-01 08:28:51 【问题描述】:我正在 laravel 中开发 API 并尝试使用 jwtAuth 实现令牌库身份验证,但我无法理解的是如何使用 mysql 表“客户”进行身份验证并生成令牌。 我已经阅读了多个教程,但没有一个解释 mysql table for authentication 。
jwtAuth 真的需要 mysql 吗? 如何管理 mysql 的 jwtAuth::attempt() 函数? jwtAuth() 的默认表是什么?
我遵循的一些教程是:this and this
【问题讨论】:
使用 JWT 身份验证时,没有额外的表 - 您使用的是通常的 users 表(或您为身份验证定义的任何表)。令牌本身作为会话数据处理,默认情况下这是基于文件的会话,所有内容都存储在storage/framework/sessions
文件夹中。
那么它将如何验证存储在 mysql 数据库中的用户凭据?
使用您在config/auth.php
中定义的身份验证模型,默认情况下将是用户模型。这将对用户表进行身份验证。
JWTauth::attempt() 将尝试使用 mysql 对我在 config/auth.php 中定义的模型进行身份验证,成功后它将生成令牌!我说对了吗?
在答案部分添加您的评论,它的工作完美!
【参考方案1】:
JWT 身份验证是基本身份验证的扩展,使用与config/auth.php
文件中定义的相同配置和方法。
用户数据将存储在定义的用户表中 - 如果使用标准身份验证脚手架,这只是users
。
JWT 会话本身将根据您的会话配置进行存储。默认情况下,这使用基于文件的会话,存储在
文件夹storage/framework/sessions
【讨论】:
以上是关于laravel jwtAuth 验证凭据的主要内容,如果未能解决你的问题,请参考以下文章
为 JWTAuth 身份验证 Laravel 5.5 指定除默认值之外的其他守卫/提供者