আমি এখনও REST এপিআই সুরক্ষার জন্য সেরা সুরক্ষা সমাধানের সন্ধান করার চেষ্টা করছি, কারণ প্রতিদিন মোবাইল অ্যাপ্লিকেশন এবং এপিআইয়ের পরিমাণ বাড়ছে।
আমি প্রমাণীকরণের বিভিন্ন উপায়ে চেষ্টা করেছি, তবে এখনও কিছু ভুল ধারণা রয়েছে, তাই আমার আরও অভিজ্ঞ কারও পরামর্শ প্রয়োজন।
আমাকে বলতে দিন, আমি কীভাবে এই সমস্ত জিনিস বুঝি। আমি যদি কিছু ভুল করে বুঝতে পারি তবে দয়া করে আমাকে জানান।
যতক্ষণ না REST এপিআই স্টেটলেস পাশাপাশি সাধারণভাবে ওয়েইইবি, আমাদের প্রতিটি অনুরোধে (কুকিজ, টোকেন ....) কিছু লেখার ডেটা প্রেরণ করতে হবে। আমি ব্যবহারকারীকে প্রমাণীকরণের জন্য তিনটি বহুল ব্যবহৃত প্রক্রিয়া জানি
এইচটিটিপিএস সহ টোকেন। আমি এই পদ্ধতির অনেক সময় ব্যবহার করেছি এটি এইচটিটিপিএস এর সাথে যথেষ্ট ভাল। যদি ব্যবহারকারী সঠিক পাসওয়ার্ড এবং লগইন সরবরাহ করে তবে তিনি প্রতিক্রিয়াতে টোকেন পাবেন এবং পরবর্তী অনুরোধগুলির জন্য এটি ব্যবহার করবেন। টোকন সার্ভার দ্বারা উত্পাদিত হয় এবং সঞ্চিত হয়, উদাহরণস্বরূপ সারণীতে পৃথক বা একই যেখানে ব্যবহারকারীর তথ্য সংরক্ষণ করা হয়। সুতরাং প্রতিটি অনুরোধের জন্য সার্ভারটি পরীক্ষা করে যদি ব্যবহারকারীর টোকেন থাকে এবং এটি ডাটাবেসের মতোই হয়। সবকিছু বেশ সোজা।
জেডাব্লুটি টোকেন এই টোকেনটি স্ব-বর্ণনামূলক, এতে টোকেন নিজেই সমস্ত প্রয়োজনীয় তথ্য রয়েছে, ব্যবহারকারী উদাহরণস্বরূপ মেয়াদোত্তীকরণের তারিখ বা অন্য কোনও দাবী পরিবর্তন করতে পারবেন না, কারণ এই টোকেনটি গোপন কীওয়ার্ড সহ সার্ভার দ্বারা তৈরি (স্বাক্ষরিত) হয়। এটিও পরিষ্কার। তবে একটি বড় সমস্যা, ব্যক্তিগতভাবে আমার জন্য, কীভাবে টোকেনকে অবৈধ করতে হয়।
OAuth 2. সার্ভার এবং ক্লায়েন্টের মধ্যে সরাসরি যোগাযোগ স্থাপন করা হলে কেন এই পদ্ধতির ব্যবহার করা উচিত তা আমি বুঝতে পারি না। আমি যতদূর বুঝতে পেরেছি, অন্যান্য অ্যাপ্লিকেশনগুলিকে পাসওয়ার্ড এবং লগইন না করে ব্যবহারকারীর তথ্যে অ্যাক্সেসের অনুমতি দেওয়ার জন্য সীমাবদ্ধ সুযোগের সাথে টোকেন জারি করতে OAuth সার্ভার ব্যবহার করা হয়। এটি সোশ্যাল নেটওয়ার্কগুলির জন্য দুর্দান্ত সমাধান, যখন ব্যবহারকারী কোনও পৃষ্ঠায় সাইন আপ করতে চায়, সার্ভার ব্যবহারকারীর তথ্য পাওয়ার জন্য অনুমতিগুলি অনুরোধ করতে পারে, উদাহরণস্বরূপ টুইটার বা ফেসবুক থেকে এবং ব্যবহারকারী ডেটা সহ রেজিস্ট্রেশন ক্ষেত্রগুলি পূরণ করতে পারে fill
অনলাইন স্টোরের জন্য মোবাইল ক্লায়েন্ট বিবেচনা করুন।
প্রথম প্রশ্নটি কি আমি প্রথম ধরণের টোকেনের চেয়ে বেশি করে JWT পছন্দ করব? মোবাইল ক্লায়েন্টে যতদূর আমার লগইন / লগআউট ব্যবহারকারী প্রয়োজন, আমার কোথাও টোকেন সংরক্ষণ করতে হবে বা জেডাব্লুটিটির ক্ষেত্রে, টোকেনটি লগআউটটিতে অবৈধ হওয়া উচিত। টোকেনকে অবৈধ করতে বিভিন্ন পদ্ধতি ব্যবহার করা হয় অবৈধ টোকেন তালিকা (কালো তালিকা) তৈরি করা। হুম। টোকেনটি টেবিলে সঞ্চিত ছিল এবং ব্যবহারকারীর সাথে সম্পর্কিত ছিল এবং লগআউটে সরিয়ে ফেললে টেবিল / ফাইলের অনেক বড় আকার থাকবে।
তাহলে জেডাব্লুটি টোকেনের সুবিধা কী?
ওআউথ সম্পর্কে দ্বিতীয় প্রশ্ন, আমার সার্ভারের সাথে সরাসরি যোগাযোগের ক্ষেত্রে আমি কি এটি ব্যবহার করব? ক্লায়েন্ট এবং সার্ভারের মধ্যে কেবলমাত্র টোকেন ইস্যু করার জন্য আরও একটি স্তরের উদ্দেশ্য কী, তবে যোগাযোগ ওউথ সার্ভারের সাথে নয় তবে প্রধান সার্ভারের সাথে হবে। আমি যেমন বুঝতে পারি যে OAuth সার্ভারটি শুধুমাত্র তৃতীয় পক্ষের অ্যাপ্লিকেশন অনুমতি (টোকেন) ব্যবহারকারীর ব্যক্তিগত তথ্য অ্যাক্সেস দেওয়ার জন্য দায়বদ্ধ is তবে আমার মোবাইল ক্লায়েন্ট অ্যাপ্লিকেশনটি তৃতীয় পক্ষের নয়।