ابر سیاه
4 سال پیش توسط ابر سیاه مطرح شد
3 پاسخ

دریافت شناسه کاربر از طریق توکن

سلام دوستان
برنامه ای نوشتم که به دلایلی مجبورم توکن (Bearer ساخته شده توسط passport) لاراول رو از طریق متد get فقط برای چند route خاص دریافت کنم به همین دلیل این دو سوال زیر پیش می آید:

1- آیا امنیت توکن از بین خواهد رفت؟
2- آیا برنامه می تواند توکن را استخراج کرده و باعث هک کاربر شود؟
3- چگونه شناسه کاربر را دریافت کنم؟
4- البته ما از angular typescript هم استفاده کردیم و به همین دلیل دیزاین از برنامه مجزا است و توکن از طریق header به سمت سایت ارسال می شود آیا در این رمز امنیت توکن حفظ می شود ؟
5- چه راه کاری برای افزایش امنیت می شناسید؟
6- به نظر شما سایت های مشهور در این موقع چه می کنند ؟ (لطفا مثال بزنید)

لطفا پاسخ دهید این هم سوال من هست و هم سوال خیلی های
همیشه به فکرش بودم نهایتا سوال کردم به امید آنکه دوستان پاسخ دهند
لطفا به تفکیک شماره و واضح پاسخ دهید تا بقیه دوستانی که سوالشان همین هست متوجه شوند

@hesammousavi @mohsenbostan @ali.bayat @hossein.r.1442 @juza66 @amin.webdesign @yk5742g @coaradsupp @SobhanDadkhah @milad
تشکر


ثبت پرسش جدید
Parastoo Ebrahimi
تخصص : front-end developer
@parastooebrahimi 4 سال پیش مطرح شد
0

سوال سوم : اینکه چطوری شناسه کاربر رو از توکن دریافت کنید: باید از jwt-decode استفاده کنید. و بعد توکن رو بهش بدید. مثل کد زیر:

try{
            const jwt= localStorage.getItem("token")
            const email= jwtDecode(jwt)
            this.setState({
                email:email.email

            })
        }catch(ex){

        }

به کمک سایت https://jwt.io/ هم میتونید توکن رو دیکد کنید..
اگر منظورتون همین بوده باشه البته


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
0

@abresiahjj
سلام.
1 - در مورد امنیت زیاد فرقی نداره که شما برای همه روت ها توکن نیاز داشته باشید یا برای چند تا. امنیت در هر شرایط ثابته.
2 - استخراج توکن امکان پذیره و میشه به دستش آورد! اما به این منزله نیست که امنیت پایین میاد، هر کاربری توکن خودش رو می بینه. ( البته این مورد به نوع ذخیره سازی توکن خیلی مرتبطه )
3 - اگر توکن در هدر باشه، می تونید با کد زیر اطلاعات کاربر رو پیدا کنید :

Route::get('/user', function() {
        return response()->json(request()->user());
});

4 - قاعده ش همینه و فکر نکنم راه دیگه ای هم وجود داشته باشه. توکن باید توی هدر باشه. در مورد امنیتش هم بستگی به این داره که شما از ssl استفاده می کنید یا نه.
5 - امنیت پایه ای رو خود لاراول و passport اوکی کردن شما اگر خودتون داخل کدتون خطا نداشته باشید، امنیت مشکلی نخواهد داشت.
6 - دقیق منظورتون از این سوال رو نفهمیدم :) منظورتون از این مواقع کدوم مواقع هستش ؟


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش مطرح شد
0

@abresiahjj
دوستمون @mohsenbostan توضیحات لازم رو دادن،
تنها میتونم اضافه کنم که شما token رو فقط بعد از لاگین شدن به کاربر باید پاس بدید ! نه اینکه از یک روت get برید اونو بگیرید
اگر اینطور نیست پس کارتونو درست انجام ندادید


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام