উদাহরণস্বরূপ যখন কোনও ব্যবহারকারী লগইন করে থাকে। এখন ব্যবহারকারী বলতে চান যে কোনও ফোরামের বিষয় তৈরি করতে চান, আমি কীভাবে জানব যে ব্যবহারকারী ইতিমধ্যে লগ ইন করেছেন?
এটি সম্পর্কে ভাবুন - এমন কিছু হ্যান্ডশেক থাকতে হবে যা আপনার "ফোরাম তৈরি করুন" এপিআইকে জানায় যে এই বর্তমান অনুরোধটি কোনও অনুমোদনপ্রাপ্ত ব্যবহারকারীর is যেহেতু REST এপিআইগুলি সাধারণত রাষ্ট্রহীন, তাই কোথাও কোথাও রাষ্ট্র বজায় রাখতে হবে । আপনার ক্লায়েন্টটি REST এপিআইগুলি গ্রাস করে সেই অবস্থা বজায় রাখার জন্য দায়বদ্ধ। সাধারণত, এটি কিছু টোকেনের আকারে যা ব্যবহারকারীর লগইন হওয়ার সময় থেকেই পাস হয়ে যায় the টোকেনটি যদি ভাল হয় তবে আপনার অনুরোধটি ভাল।
অ্যামাজন এডাব্লুএস কীভাবে প্রমাণীকরণ করে তা পরীক্ষা করে দেখুন। এটি একটি এপিআই থেকে অন্য এপিআই-তে "বাককে পাশ কাটিয়ে দেওয়ার" নিখুঁত উদাহরণ।
* আমি আমার পূর্বের উত্তরে কিছু ব্যবহারিক প্রতিক্রিয়া যোগ করার কথা ভেবেছিলাম। অ্যাপাচি শিরো (বা কোনও প্রমাণীকরণ / অনুমোদন গ্রন্থাগার) ব্যবহার করে দেখুন। নীচে লাইন, চেষ্টা করুন এবং কাস্টম কোডিং এড়ান। আপনি একবার আপনার প্রিয় লাইব্রেরি সংহত করে নিলে (আমি অ্যাপাচি শিরো, বিটিডব্লু ব্যবহার করি) আপনি নিম্নলিখিতগুলি করতে পারেন:
- একটি লগইন / লগআউট এপিআই তৈরি করুন:
/api/v1/login
এবংapi/v1/logout
- এই লগইন এবং লগআউট এপিআইগুলিতে, আপনার ব্যবহারকারীর স্টোরের সাথে প্রমাণীকরণটি সম্পাদন করুন
- ফলাফলটি একটি টোকেন (সাধারণত,
JSESSIONID
) যা ক্লায়েন্টকে ফেরত পাঠানো হয় (ওয়েব, মোবাইল, যাই হোক না কেন)
- এই বিন্দু থেকে আপনার ক্লায়েন্ট কর্তৃক করা সমস্ত পরবর্তী কলগুলিতে এই টোকেন অন্তর্ভুক্ত থাকবে
- ধরা যাক আপনার পরবর্তী কলটি কল করা একটি API এ করা হয়েছে
/api/v1/findUser
- এই এপিআই কোডটি প্রথম যেটি করবে তা হ'ল টোকেনটি পরীক্ষা করা ("এই ব্যবহারকারী কি প্রমাণিত?")
- যদি উত্তরটি NO হিসাবে ফিরে আসে তবে আপনি ক্লায়েন্টের কাছে একটি HTTP 401 স্থিতি ফেলে দিন। তারা এটি পরিচালনা করতে দিন।
- যদি উত্তর হ্যাঁ হয়, তবে অনুরোধ করা ব্যবহারকারীকে ফেরত পাঠান
এখানেই শেষ. আশাকরি এটা সাহায্য করবে.