Kar*_*ill 5 php jwt laravel guzzle laravel-5
我有一个关于 Laravel 5.x 中的身份验证的问题。我\xe2\x80\x99一直在专门查看tymondesigns/jwt-auth和irazasyed/jwt-auth-guard打包以在我的 Laravel 应用程序中进行 JSON Web 令牌身份验证令牌处理。
我没有使用本地数据库,也不想使用。我在 .env 中为我的 API\xe2\x80\x99s 设置了环境变量URL, USERNAME & PASSWORD。Guzzle PHP HTTP 客户端做得很好,根据需要在 API 和我的应用程序之间连接并返回数据。
但是,我需要在 Laravel 实例中设置身份验证。我在这里遇到问题,身份验证需要数据库连接。
\n$token = JWTAuth::attempt($credentials)\nRun Code Online (Sandbox Code Playgroud)\n这是例外情况:
\n\n\nRun Code Online (Sandbox Code Playgroud)\nPDOException in Connector.php line 55: \nSQLSTATE[HY000] [14] unable to open database file\n
谢谢。
\n更新:
\n使用tymon/jwt-auth,我已经在路由、内核、中间件等中设置了一些东西。
我成功创建了“声明”,但我需要通过编码“有效负载”来创建令牌。
\nPDOException in Connector.php line 55: \nSQLSTATE[HY000] [14] unable to open database file\nRun Code Online (Sandbox Code Playgroud)\n如何获取自定义令牌?
\n作为快速修复,我决定实现以下自定义代码......
1)创建自定义中间件来处理逻辑。
class CustomMiddleware
{
protected $loginPath = 'login';
public function handle($request, Closure $next) {
$logged_in = $request->session()->get('logged_in');
if (!$logged_in) {
return redirect()->guest('login')->with('flag','1');
}
return $next($request);
}
}
Run Code Online (Sandbox Code Playgroud)
2) 添加了对中间件类的引用。
class Kernel extends HttpKernel
{
protected $routeMiddleware = [
'custom' => \App\Http\Middleware\CustomMiddleware::class,
];
}
Run Code Online (Sandbox Code Playgroud)
3)将其添加到routes.php。
Route::group(['middleware' => ['custom']], function () {
// Add routes here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6866 次 |
| 最近记录: |