我能做这个吗
- 拥有一个(托管在mydomain/public上)laravel Api目的是验证用户并获得JWT令牌。即
authentication server
- 不知何故,将相同的令牌传递给第二个(托管在mydomain/secure)laravel-Api,以便对用户和访问应用程序。即
resource server
我试过用这个软件包来做这个。正如我在上面所问的,我已经在这里描述的authentication server
上进行了身份验证,并且已经生成了令牌,并且我已经向资源服务器中所需的令牌添加了一些数据。我将该令牌传递给resource server
,并尝试解析该令牌。我得到了类似Token has expired
的错误所以,我的问题是:
- 如何在资源服务器上验证JWT签名侧面
- 是否可以使用JWT
我试图在资源服务器中解析令牌的代码
Route::get("/parse/token",function(Request $request){
$token = JWTAuth::getToken();
$user = JWTAuth::toUser($token);
return $user ;
});
默认情况下,JWT机制将所有令牌保存到authentication server
上的缓存文件中。请参阅config/cache.php:
'default' => env('CACHE_DRIVER', 'file'),
'stores' => [
...
'file' => [
'driver' => 'file',
'path' => storage_path('framework/cache'),
],
...
],
resource server
无法访问此文件,也无法解析输入令牌。
您可以尝试使用Memcached或一些数据库来保存JWT令牌。