このhttps://github.com/tymondesigns/jwt-auth私はJWTリフレッシュトークンの行動(LARAVEL)私はちょうどLARAVELでJWT払い試してみました
しかし、私は理解できない何かがあるのを理解していません。その設定では、彼らが置か:
'ttl' => env('JWT_TTL', 60), // in munutes
'refresh_ttl' => env('JWT_REFRESH_TTL', 20160), // in minutes
私はunderstant何:トークンのが住んでは1時間で、2週間
しかし、私が何かを照会しようとすると3時間後に、それは「トークン有効期限が切れた」と言う内にリフレッシュすることができます。
このシステムはどういう意味では、ユーザーは自分のトークンが更新/毎時内が、2週間の限度でリフレッシュ取得する必要がありますか?理解できません。
はどのように利用者がこの種のシステムにログインを持続することができますか?最初の1時間後にリフレッシュトークンはどのように役立ちますか?まだ2週間はかかりませんでしたが、新しいトークンを取得できません。
おかげ
UPDATE:CODE
設定/ jwt.php
'ttl' => 2, // 2 minutes
'refresh_ttl' => 5, // 5 minutes
ルート/ api.php
Route::post('/login', '[email protected]');
Route::get('/test', '[email protected]')->middleware('jwt.auth', 'jwt.refresh');
HTTP /コントローラ/ AuthController
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use JWTAuth;
use Tymon\JWTAuth\Exceptions\JWTException;
class AuthController extends Controller
{
public function test()
{
return response()->json(['coucou' => 1]);
}
public function login(Request $request)
{
// grab credentials from the request
$credentials = $request->only('email', 'password');
try {
// attempt to verify the credentials and create a token for the user
if (! $token = JWTAuth::attempt($credentials)) {
return response()->json(['error' => 'invalid_credentials'], 401);
}
} catch (JWTException $e) {
// something went wrong whilst attempting to encode the token
return response()->json(['error' => 'could_not_create_token'], 500);
}
// all good so return the token
return response()->json(compact('token'));
}
}
、これは流れである:
要求/へのログインと{ユーザー名:XXX、パスワード:XXX} 応答の /ログイン> {トークン:XXXXXXX}
リクエスト~/テストとしてください。ベアラxxxxxx ヘッダに/試験の応答>新しいトークンとの良好なJSONレスポンス
要求へ/試験 3分後(10秒は、リフレッシュ限界の5分未満で、過去今有する3minsよう私は理解していない/テスト>トークン有効期限が切れ
の) 応答。アクセストークンの有効期限が切れた後
だけでなく、それもリフレッシュトークンを使用して、動作しませんが、それが言うに使用:トークンはたぶん私は間違ったことをやっている時間 – darkylmnx
後に期限が切れて、どのように私はこれをacheiveすることができます: "あなたが得るためにリフレッシュトークンを使用することができます新しいアクセストークンを入力せずにユーザーに「? – darkylmnx
以前にアクセストークンを取得したのと同じエンドポイントに更新トークンを送信する必要があります。リクエストヘッダーには – jps