0
私は現在slim-jwt-authでSlimを使用しています。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