3
我正在爲移動應用編寫一個API,後端網站是在Laravel中編寫的。我使用Tymon \ JWTAuth認證是這樣的:今天Laravel JWT:本地主機上生成的令牌在服務器上有效
function auth()
{
try {
if(!$user = JWTAuth::parseToken()->authenticate())
{
return ('login or register');
}
}
catch (JWTException $e)
{
return ('token is invalid');
}
return $this->user = $user ;
}
我注意到的東西,當我在我的本地API生成JWT令牌ID爲4
用戶,如果我發送相同的令牌一個現場API,而不是得到一個錯誤我得到用戶ID爲4
!基本上我可以通過在我的本地主機上在他/她的ID上生成一些令牌來與任何我想要的用戶進行登錄。我錯過了什麼嗎?
我不知道這有什麼關係這一點,但爲了節省時間在測試時,我不GET
方法像發送令牌作爲POST的身體和頭部的一部分,只是在URL:
site.com/api/user?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9
我會讓這個評論,但我沒有足夠的聲譽。您的本地和遠程地點的密鑰是否相同?我不是100%確定的,但可能是用戶的JWT令牌的所有可能組合都是有效的,除非明確列入黑名單(或者它們已過期)。因此,如果您擁有相同的密鑰,那麼您將獲得兩個應用的有效令牌。我對JWT代幣也很陌生,所以我想看看有人對此有更多的瞭解。 [查看此鏈接獲取關於JWT令牌如何驗證的信息](https://auth0.com/docs/api-auth/tutorials/verify-access-token) – LeviJames
@LeviJames是的,就是這樣,請認爲它是答案如果你可以的話 – hretic