مشکل با api token

2 هفته پیش
توسط علی بیات آپدیت شد
Parastoo Ebrahimi ( 10320 تجربه )
2 هفته پیش
تخصص : helpdesk

سلام. یک وب اپلیکیشن خیلی بزرگ وجود داره که با durandal کد زده شده و باید اون رو به react تبدیل کنم و میخوام هر صفحه ای که تبدیل شد به react جایگزین صفحه قبل خودش بشه. از هر صفحه ای که شروع کنم نیاز داره api token ای که کاربر لاگین میکنه میگیره رو داشته باشه تا بتونه به اطلاعاتی که فرم بهش نیاز داره رو دسترسی داشته باشه. از صفحه لاگین هم نمیتونم شروع کنم قطعا چون فعلا نمیتونه جایگزین صفجه لاگین فعلی بشه. چه چیزی باید اضافه بشه یا تغییر بکنه (چه توی بک اند و چه در فرانت اند) تا بشه از یه صفحه شروع کرد...

علی بیات ( 296347 تجربه )
2 هفته پیش
تخصص : توسعه دهنده ارشد وب

به نظرم ساختار اپلیکیشن فعلی رو تحلیل کنید.
و شروع کنید صفحه به صفحه، کدها رو تبدیل به React کنید.

شاید بک اند اصلا احتیاجی به تغییر نداشته باشه

Parastoo Ebrahimi ( 10320 تجربه )
2 هفته پیش
تخصص : helpdesk

درست میفرمایید. من از صفحه ای شروع کردم که کمترین پیچیدگی رو داره. ولی باز هم نیاز داره که api tokenای که کاربر وقتی لاگین میکنه رو داشته باشه تا بتونه فرم ها رو اطلاعات دهی بکنه و یا اونها رو آپدیت بکنه. همونطور هم که گفتم نمیتونم از لاگین شروع کنم و جلو برم. سوالم اینه با این شرایط چه کاری باید بکنم (چه بک اند و چه فرانت اند) تا بشه صفحه به صفحه شروع به تغییر کرد.
@ali.bayat
@hesammousavi
@hossein.r.1442

حسام موسوی ( 311054 تجربه )
2 هفته پیش
تخصص : طراح و برنامه نویس

میتونید با postman یک بار لاگین کنید و api Token ای که بهتون میده رو در درخواست‌های api استفاده کنید تا زمانی که به صفحه لاگین برسید. به همین سادگی

علی بیات ( 296347 تجربه )
2 هفته پیش
تخصص : توسعه دهنده ارشد وب

مسلما به api token نیاز دارید
پس اول فکری به حال احراز هویت بکنید.
ببینید به چه endpoint ی درخواست زده میشه.. و چه پارامترهایی لازم داره.

Parastoo Ebrahimi ( 10320 تجربه )
2 هفته پیش
تخصص : helpdesk

با postman هم authenticate رو انجام دادم (ایمیل و پسورد)ولی چیزی که بهم برمیگردونه حاوی api token نیست.نه در header و نه در body.
در header هست:

access-control-allow-headers →content-type,Authorization,_RequestVerificationCookie
access-control-allow-methods →GET,POST,HEAD,DELETE,PUT,OPTIONS
access-control-allow-origin →*
access-control-expose-headers →x-token,x-requestVerificationToken
cache-control →no-cache, no-store
content-length →10319
content-type →application/json; charset=utf-8
date →Fri, 20 Mar 2020 02:19:17 GMT
expires →-1
pragma →no-cache
server →Microsoft-IIS/10.0
x-aspnet-version →4.0.30319
x-sourcefiles →=?UTF-8?B?RDpcZXppLW1hbmFnZXJcRXppTWFuYWdlclxhcGlcaW1hZ2Vz?=

و json ای هم که بر میگردونه هست:

 {
        "name": "032731.jpg",
        "imageID": 856,
        "imageName": "032731",
        "imageExtension": "jpg",
        "lastUpdate": "2019-08-21T15:15:57",
        "readOnly": false
    },
    {
        "name": "1.jpg",
        "imageID": 539,
        "imageName": "1",
        "imageExtension": "jpg",
        "lastUpdate": "2018-10-08T13:03:56",
        "readOnly": false
    },

بهم گفتن ما از session استفاده میکنیم که بعد از لاگین حتما یه session token میده دیگه! ولی توی اطلاعات Apiشون نبود. بهم گفتن اگه تغییری نیاز داری بگو انجام میدیم. ممنون میشم راهنمایی کنید که چیکار بکنم.
@hesammousavi
@ali.bayat

علی بیات ( 296347 تجربه )
2 هفته پیش
تخصص : توسعه دهنده ارشد وب

شما باید در نهایت از سمت بک‌اند یه توکن دریافت کنید
سپس اون توکن رو در درخواست هاتون (معمولا در header) لحاظ کنید تا سرور متوجه بشه شما کاربر هستید یا خیر.
به جز بدنه و هدر ممکنه این توکن از طریق querystring هم منتقل بشه.

Parastoo Ebrahimi ( 10320 تجربه )
2 هفته پیش
تخصص : helpdesk

یعنی برنامه نویس بک اند هر وقت که کاربر لاگین میکنه توکن رو د jsonای که میگیرم اضافه کنه.
درسته؟
@ali.bayat
@hesammousavi

علی بیات ( 296347 تجربه )
2 هفته پیش
تخصص : توسعه دهنده ارشد وب

بله این میتونه یه روش باشه

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