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 指定除默认值之外的其他守卫/提供者

Laravel Tymon\JWT Auth:在身份验证之前检查未完成的有效令牌?

如何在没有身份验证的情况下创建 JWT 令牌

如何使用身份验证管理器修复“错误凭据”错误?

Larave中CSRF攻击

Laravel:针对远程检查凭据的系统进行身份验证