2016-04-14 38 views
0

我正在使用JWT Web令牌系統。我成功地生成了TOKENS。 我在Laravel創建JWT令牌如下是Jwt token was UNIQUE

我正在使用FOLLOWING技術堆棧

樣品編號

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 

問題1

是生成的令牌 是獨特的?

回答

0

智威湯遜在某種程度上是獨一無二的,沒有兩個相同的用戶可以對他們產生

+0

JWT令牌如何是獨一無二的,即同樣的道理,在什麼參數令牌是獨一無二的(無論其因頭或載荷或簽名) ? – lakshmaji

+0

標頭有效負載和簽名一起構成一個令牌。如果有人發現整個令牌的一部分,你就沒有真正的安全問題。但標題是一樣的,另外兩個改變。檢查[鏈接](https://jwt.io/)並嘗試更改值並查看會發生什麼 – Norgul

+0

如何讓用戶令牌在成功登錄和註銷之間有效? – lakshmaji

1

一般來說,JWT實際上正在取代用戶名和密碼的組合。這意味着,服務器不會在每次請求受限資源時都發送用戶名和密碼,而是在用戶首次登錄時驗證憑據是否正確後返回唯一令牌。之後,每個請求都會包含令牌,在執行請求之前將會檢查該令牌是否有效。

因此,如果兩個用戶進來並使用兩個有效憑證登錄,它將從服務器接收兩個不同的令牌。

相關問題