آفلاین
user-avatar

ابهام بزرگ در مورد API

2 سال پیش
توسط Md Tavangar آپدیت شد
آفلاین
user-avatar
علی ( 14211 تجربه )
2 سال پیش
تخصص : Laravel

سلام دوستان . من یک سوال دارم در مورد API. ببینین مثلا در لاراول ما برنامه مینویسیم در مورد فرض کنین لاگین و رجیستر و نمایش یک سری محصولات که کاربری که لاگین کرده میتواند ببیند . این مثال ساده را در نطر بگیرید . خب لاگین و رجیستر سادست و نوشته میشود و زمانی که کاربر لاگین کرد و سشن او موحود باشه بهش لیست رو نشون میدیم.
حالا فرض کنین میخاین این برنامه رو بصورت api مانند بنویسیم و سمت کاربر با ری اکت اون رو هندل کنیم. چجوی باید این کار رو کرد ؟
API لاگین چجوری باید نوشته بشه ؟
در هر لحطه چجوری بفهمیم کاربر لاگین هست یا نه . که اگر لیست رو خاست بهش نشون بدیم . مثلا بیزینس اینه کاربر اگر داخل اپ یا وب لاگین کرد و توی سایت اگر ۲۴ ساعت بعد هم برگشت همچنان لاگین باشد. توی اپ هم که تا زمانی که clear cache نکرده لاگین بماند. هر زمان هم درخواست لیست محصولات رو کرد بهش نشون بدیم .
من نمیفهمم این موضوع رو برام مبهم هست هنوز. با لاراول زیاد برنامه نوشتم و هضمش اسونه .با ای پی آی تا الان نتونستم بنویسم.
ممنون میشم یکی منو روشن کنه و ابهامم رو رفع کنه

@hesammousavi

آفلاین
user-avatar
developer ( 33412 تجربه )
2 سال پیش
تخصص : برنامه نویس

فکر کنم باید با روش jwt این رو انجام بدید و توکن رو ذخیره کنید با پرسیست بعد توی هر ریکوئست توکن رو بفرستید تا احراز هویت کنه و لاگین رو بررسی کنه و ...

آفلاین
user-avatar
M D Basir ( 135 تجربه )
2 سال پیش

من هم مشکل دارم . بازم درست نمیفههمم . خب این توکن توی لوکال استوریج ذخیره میشه. از نظر امنیتی مشکلی نداره ؟
یعنی یه توکن ذخیره میکنیم سمت کاربر و هربار این رو بفرستیم از نظر امنیتی مشکلی نداره ؟

آفلاین
user-avatar
developer ( 33412 تجربه )
2 سال پیش
تخصص : برنامه نویس

خب اول بررسی میکنید توکنی وجود داره یا نه؟ البته میتونید یکسری شرط ها توی توکن بذارید مثلا طول توکن یا وجود یکسری کلمات خاص و ... که کسی توکن جعلی گذاشت چون شرط ها رو نمیدونه بعیده توکن درست جعل کنه، بعدشم این توکن رو وقتی فرستادید سمت سرور اول بررسی کنید که اصلا وجود داره یا نه اگه اوکی بود درخواست رو انجام بدید
@basiry.mohsen

آفلاین
user-avatar
arazsalmasi ( 11257 تجربه )
2 سال پیش

بررسی کردن توکن که هربار کاربر میره تو برنامه یه مشکل اساسی داشت که من دیدم اینه
تو یک ثانیه که مثلا سرور قطع میشه فقط برای یه ثانیه کد نمیتونه توکن رو برسی کنه و کابر رو میفرسته صفحه لاگین تا ورود دوباره انجام بشه
اگر کاربر اینو بفهمه با بستن و باز کردن برنامه حل میشه اگر نفهمه باعث میشه فک کنه برنامه اونو بیرون انداخته و دل سرد میشه
این مشکل رو من تو نسخه اول برنامم داشتم

آفلاین
user-avatar
حسام موسوی ( 378585 تجربه )
2 سال پیش
تخصص : طراح و برنامه نویس

@araz2salmasi
این دیگه به درخواستتون مربوط میشه میتونید تا زمانی که کد 200 و پاسخ دریافت نکردید بگید درخواست بفرسته و اگر مشکل نت خورد بگین نت مشکل داره باید دوباره سعی کنه . کاملا دست خودتونه

@alif
کار سختی نیست با استفاده از jwt میتونید در api تشخیص بدید یک کاربر لاگین هست یا خیر که کامل ایجاد api رو در دوره ساخت Restful Api با Laravel و Lumen آموزش دادم و میتونید استفاده کنید .

@basiry.mohsen
خیر مشکل امنیتی نداره البته توکنی که ایجاد میشه نباید قابل حدس زدن باشه . و هر توکن که ایجاد میشه برای یک شخصه و اون شخص تنها میتونه ازش استفاده کنه . البته برای توکن ها میتونید timeLife هم قرار بدید .

آفلاین
user-avatar
Md Tavangar ( 663 تجربه )
2 سال پیش

شما در سمت وب سرویس نیاز به سشن ندارین همه چیز با یه فیلد به اسم توکن انجام میشه حالا بعضی ها در url ارسال میکنن مثل
http://site.com/api/getlist?token=1234
بعضی ها هم در هدر و این ها میفرستن ولی شما در سمت سرور این توکن رو دریافت میکنید توی جدول کاربراتون هم همین توکن موجوده دیگه بعدش سلکتش میکنید و اگر درست بود جواب مورد نظر رو بر میگردونین وگرمه یه خطا بر میگردونین
حالا این توکن هرچی رمزنگاری تر باشه پیدا کردنش و درست کردنش توسط بقیه هم سخت تر میشه

برای ارسال پاسخ باید وارد سایت شوید