روز برنامه‌نویس مبارک 🤩🎉 از هدایای روز برنامه‌نویس جا نمونی ⌛
۰ ثانیه
۰ دقیقه
۰ ساعت
۷ Ali Hoosaini
پاسخ نامعتبر در برابر jwt decode
جامعه پی اچ پی ایجاد شده در ۰۷ فروردین ۱۴۰۱

سلام مشکل من اینه که می‌خوام توکنی که از سمت کاربر میاد چک کنم ببینم که معتبر هست یا نه به این صورت

22ed-image.png

و اومدم به این صورت ازش استفاده کردم

c122-image.png

اومدم یک کاربر جدید ثبت نام کردم و یک توکن گرفتم و اون رو قرار داد اما باز هم بهم false برگردوند

443a-image.png

اینم اون دو تا تابعی هستن که ازشون استفاده کردم

d771-image.png

ممنون میمش راهنماییم کنید .

سلام دوست عزیز

اون قسمت

Response::respondAndDie($is_currnet_user_access_request, Response::HTTP_ACCEPTED);

باید به شکل زیر باشه

$user = isValidToken($token);
if (!$user)
    Response::respondAndDie(['Invalid Token!'], Response::HTTP_UNAUTHORIZED);

چون توی این خط Die کردین (Response And Die)

توی فانکشن isValidToken هم باید به شکل زیر باشه

function isValidToken($jwt_token)
{
    try {
        $payload = JWT::decode($jwt_token, new key(JWT_KEY, JWT_ALG));
        $user = getUserById($payload->user_id);
        return $user;
    } catch (Exception $e) {
        return false;
    }
}
function getUserById($id)
{
    global $users;
    foreach ($users as $user)
        if ($user->id == $id)
            return $user;
    return null;
}
محمد گازری ۰۷ فروردین ۱۴۰۱، ۱۵:۰۷

محمد جان سلام

الان این خط من هر چی توکن معتبر هم می‌زنم باز هم false برمیگردونه

a1fd-image.png

Ali Hoosaini ۰۷ فروردین ۱۴۰۱، ۱۵:۱۳

پروژتون رو بدون vendor پیوست کنید بررسیش کنم

محمد گازری ۰۷ فروردین ۱۴۰۱، ۱۵:۱۴

بفرمایید ، من اومدم از این بخش آپلود کنم اما اجازه نداد بهم .

لظف کنید از این لیک دانلود کنید .

https://www.uplooder.net/files/aefd9aac4dc93907b78db125c0673ee8/BlogRestApi.zip.html

Ali Hoosaini ۰۷ فروردین ۱۴۰۱، ۱۵:۲۰

بررسی میکنم بهتون اطلاع میدم

محمد گازری ۰۷ فروردین ۱۴۰۱، ۱۵:۲۶

توی تلگرام به بنده پیام بدین

محمد گازری ۰۷ فروردین ۱۴۰۱، ۱۶:۰۰

پاسخ در تلگرام و گوگل میت داده شد.

بهترین پاسخ
محمد گازری ۰۷ فروردین ۱۴۰۱، ۱۸:۱۷