2016-04-14 20 views
0

私はJWTウェブトークンシステムを使用しています。私はTOKENSを成功裏に生成することができました。 私は、次の技術スタックはJWTトークンがユニークです

サンプルコード

を使用してい

を次のように私はLaravelでJWTトークンを作成しています

use JWTAuth; 
use Tymon\JWTAuth\Exceptions\JWTException; 

class AuthenticateController extends Controller 
{ 
    public function authenticate(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')); 
    } 
} 

サンプル出力

私は

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ 

QUESTION 1

を生成トークンで取得しています ユニークです?

答えて

0

JWTは、どの2人の同じユーザーがそれらJWTトークンが(その原因は、ヘッダーまたはペイロードまたは署名するかどうか)トークンがUNIQUEたパラメータものに、すなわちユニークだったどのように

+0

のために生成された同じトークンを持つことはできませんような方法でユニークです? – lakshmaji

+0

ヘッダーペイロードと署名が一緒にトークンを作成します。誰かがトークン全体の1つの部分を見つけたら、本当のセキュリティ上の問題はありません。しかしヘッダーは同じで、他の2つは変わります。 [link](https://jwt.io/)をチェックし、値を変更して何が起こるかを確認してください。 – Norgul

+0

ログインが成功してからログアウトするまでの間、ユーザートークンを有効にする方法を教えてください。 – lakshmaji

1

一般に、JWTは実際にはusernameとpasswordの組み合わせを置き換えています。それは、制限されたリソースの要求ごとにユーザー名とパスワードを送信し続けるのではなく、ユーザーが初めてログインしたときに資格情報が正しいことを確認した後で一意のトークンを返します。その後、すべての要求には、要求を満たす前に有効かどうかチェックされるトークンが含まれます。

したがって、2人のユーザーがログインして2つの有効な資格情報でログインすると、サーバーから2つの異なるトークンを受け取ります。

関連する問題