0
我目前使用slim與slim-jwt-auth。如何在使用jwt令牌時檢測用戶(Slim-jwt-auth)
我的項目基於slim-api-skeleton(https://github.com/tuupola/slim-api-skeleton)。 我只需要爲創建令牌的用戶提供路由。
我用下面的代碼完成它:
//check if it is the right user
$user = \User::find($args["uid"]);
$token = $request->getHeader('HTTP_AUTHORIZATION');
$token = str_replace("Bearer ", "", $token);
$secret = getenv("JWT_SECRET");
$decoded = JWT::decode($token[0], $secret, array("HS256"));
if ($decoded->sub != $user->email)
{
throw new ForbiddenException("User not allowed to read.");
}
它是正確的嗎?還是有更好的方法來做到這一點?
謝謝......它的工作原理。 我剛剛改變了獲取令牌的方式,因爲直接使用$ request-> token-> sub不適用於我。所以,我使用了以下方法: $ token = $ request-> getAttribute(「token」); if($ token-> sub!== $ user-> email)... – kip