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