【发布时间】:2023-10-18 09:34:01
【问题描述】:
我对 Laravel 5.x 中的身份验证有疑问。我一直在专门研究 tymondesigns/jwt-auth 和 irazasyed/jwt-auth-guard 包,以便在我的 Laravel 应用程序中进行 JSON Web 令牌身份验证令牌处理。
我没有使用本地数据库,也不想使用。我在 .env 中为我的 API URL, USERNAME & PASSWORD 设置了环境变量。 Guzzle PHP HTTP 客户端做得很好,根据需要在 API 和我的应用程序之间连接和返回数据。
但是,我需要在我的 Laravel 实例中设置身份验证。我在这里遇到了问题,auth 想要一个数据库连接。
$token = JWTAuth::attempt($credentials)
这是一个例外:
PDOException in Connector.php line 55: SQLSTATE[HY000] [14] unable to open database file
- 如何在不使用数据库的情况下使用 JWT?
- 如何在 Laravel 中完全关闭数据库连接?
谢谢。
更新:
使用tymon/jwt-auth, 我已经在路由、内核、中间件等中进行了设置。
我成功创建了一个“声明”,但我需要通过对“有效负载”进行编码来创建令牌。
$this->username = $request->username;
$sub = $this->username;
$iat = time();
$jti = md5($sub . $iat);
$aud = env('APP_URL');
$this->claims = [
'sub' => $sub,
'iat' => $iat,
'exp' => time() + (2 * 7 * 24 * 60 * 60),
'nbf' => $iat,
'iss' => 'khill',
'jti' => $jti,
'aud' => $aud,
];
$payload = JWTFactory::make($this->claims);
如何获取自定义令牌?
【问题讨论】:
标签: php laravel laravel-5 jwt guzzle