ব্যবহারকারীরা কীভাবে কোনও ওয়েব API এ অনুমোদিত / অনুমোদনপ্রাপ্ত ক্রিয়াকলাপ সম্পাদন করে সে সম্পর্কে আমি বিশেষভাবে আগ্রহী।
প্রমাণীকরণ কুকিগুলি কি বিশ্রাম দর্শনের সাথে সামঞ্জস্যপূর্ণ এবং কেন?
ব্যবহারকারীরা কীভাবে কোনও ওয়েব API এ অনুমোদিত / অনুমোদনপ্রাপ্ত ক্রিয়াকলাপ সম্পাদন করে সে সম্পর্কে আমি বিশেষভাবে আগ্রহী।
প্রমাণীকরণ কুকিগুলি কি বিশ্রাম দর্শনের সাথে সামঞ্জস্যপূর্ণ এবং কেন?
উত্তর:
একটি আদর্শ রিস্টফুল সার্ভিস ক্লায়েন্টদের (যা ব্রাউজারে নাও হতে পারে) একটি অনুরোধে প্রয়োজনীয় কোনও কাজ সম্পাদনের অনুমতি দেয় ; কারণ এটি করার জন্য সম্পূর্ণ রাষ্ট্রের প্রয়োজন ছিল ক্লায়েন্টের দ্বারা, না সার্ভারের দ্বারা। যেহেতু ক্লায়েন্টের রাষ্ট্রের সম্পূর্ণ নিয়ন্ত্রণ রয়েছে, তাই এটি নিজে থেকে রাষ্ট্র তৈরি করতে পারে (যদি তা বৈধ হয়), এবং কেবল "কাজ 'করতে" এপিআই'র সাথে কথা বলি।
কুকিগুলির প্রয়োজনীয়তা এটি কঠিন করে তুলতে পারে। ব্রাউজারগুলি ছাড়াও ক্লায়েন্টদের জন্য, ক্যোয়ারী প্যারাম, সাধারণ অনুরোধ শিরোনাম বা অনুরোধের সংস্থার তুলনায় কুকিজ পরিচালনা করা বেশ বড় অসুবিধা। অন্যদিকে, ব্রাউজারে, কুকিগুলি ব্যবহার করা প্রচুর জিনিসকে অনেক সহজ করে তুলতে পারে।
সুতরাং কোনও এআইপিআই প্রথমে Authorization
এটির প্রয়োজনীয়তা প্রমাণীকরণের ডেটা অনুসন্ধান করতে পারে, কারণ সম্ভবত এটি সেই জায়গা যেখানে নন-ব্রাউজার ক্লায়েন্টরা এটিকে পছন্দ করতে পছন্দ করে তবে ব্রাউজার-ভিত্তিক ক্লায়েন্টকে সহজতর ও প্রবাহিত করতে, এটি একটি সেশন কুকির জন্যও পরীক্ষা করতে পারে সার্ভার সাইড লগ ইন করার জন্য, তবে কেবলমাত্র নিয়মিত Authorization
শিরোলেখ অনুপস্থিত।
আর একটি উদাহরণ একটি জটিল অনুরোধ হতে পারে যা সাধারণত প্রচুর পরিমাণ প্যারামিটার সেট প্রয়োজন। কোনও অ ইন্টারেক্টিভ ক্লায়েন্টকে সেই সমস্ত তথ্য একটি অনুরোধে জ্যাম করতে কোনও সমস্যা হবে না, তবে এইচটিএমএল ফর্ম ভিত্তিক ইন্টারফেসটি অনুরোধটি বেশ কয়েকটি পৃষ্ঠায় ('উইজার্ড' পৃষ্ঠাগুলির সেটের মতো কিছু) ভাঙতে পছন্দ করতে পারে যাতে ব্যবহারকারীরা উপস্থাপিত না হন পূর্ববর্তী নির্বাচনের ভিত্তিতে প্রযোজ্য নয় এমন বিকল্পগুলির সাথে with মধ্যবর্তী পৃষ্ঠাগুলির সমস্ত ক্লায়েন্ট সাইড কুকিজের মধ্যে মানগুলি সংরক্ষণ করতে পারে, যাতে কেবলমাত্র সর্বশেষ পৃষ্ঠায় ব্যবহারকারী যেখানে অনুরোধটি জমা দেয় সেখানে কোনও সার্ভারের পার্শ্ব প্রতিক্রিয়া থাকে। এপিআই অনুরোধের বডিটিতে প্রয়োজনীয় বৈশিষ্ট্যগুলি অনুসন্ধান করতে পারে এবং প্রয়োজনীয় প্যারামিটারগুলি না থাকলে কুকিজের দিকে ফিরে ফিরে যেতে পারে।
সম্পাদনা করুন: নীচে @ কনরাডের মন্তব্যে আর.ই.
তুলনায় তুলনামূলকভাবে টোকেনগুলি প্রয়োগ করা আরও কঠিন কারণ আপনি সহজেই টোকেনটি কোথাও না সঞ্চয় করে অকার্যকর করতে পারবেন।
এর ... আপনি সার্ভারের পাশের কুকিগুলি যাচাই করছেন, তাই না? আপনি ব্রাউজারকে 24 ঘন্টা পরে একটি কুকি ফেলে দেওয়ার জন্য বলেছিলেন, এটি হ'ল এটি নয়। এই কুকিটি একটি অত্যন্ত প্রযুক্তিগত ব্যবহারকারী দ্বারা সংরক্ষণ করা যেতে পারে এবং "মেয়াদোত্তীর্ণ" হওয়ার অনেক পরে পুনরায় ব্যবহার করা যেতে পারে।
আপনি যদি সার্ভার সাইডে সেশন ডেটা সঞ্চয় করতে না চান তবে আপনার এটি টোকেনে (কুকি বা অন্যথায়) সংরক্ষণ করা উচিত। স্ব-র অন্তর্ভুক্ত লেখক টোকেনকে কখনও কখনও ম্যাকারুন বলা হয় । এটি ক্লায়েন্ট এবং সার্ভারের মধ্যে কীভাবে পাস হয় (কুকি দ্বারা, অতিরিক্ত শিরোনাম হিসাবে, বা অনুরোধ সত্তায় নিজেই) প্রমাণীকরণ প্রক্রিয়া থেকেই সম্পূর্ণ স্বতন্ত্র।
HttpClient
.NET এর সাথে আপনি কোনও সমস্যা ছাড়াই কুকি ব্যবহার করতে পারেন এবং আপনার সত্যিকারের এটি চিন্তা করার দরকার নেই। তুলনায় তুলনামূলকভাবে টোকেনগুলি প্রয়োগ করা আরও কঠিন কারণ আপনি সহজেই টোকেনটি কোথাও না সঞ্চয় করে অকার্যকর করতে পারবেন।
curl
বা wget
, কুকিজ পরিচালনার প্রশংসনীয় অভিশাপ অসুবিধাজনক হয় এবং আপনি সত্যিই তাদের সম্পর্কে একটি গুচ্ছ চিন্তা করতে হবে না। আমি আমার উত্তর সম্পাদনা করে আপনার অন্য বিষয়টিতে জবাব দিয়েছি।
হ্যাঁ এবং না - আপনি এটি কীভাবে ব্যবহার করেন তা নির্ভর করে।
কুকিজ যদি ক্লায়েন্টের ক্লায়েন্টের, ক্লায়েন্টের, ক্লায়েন্টের এবং ক্লায়েন্টের দ্বারা ক্লায়েন্টের রাজ্য বজায় রাখার জন্য ব্যবহৃত হয় তবে তারা বিশ্রামে।
আপনি যদি কুকিতে সার্ভারের স্টেট সংরক্ষণ করে থাকেন তবে আপনি মূলত ক্লায়েন্টের কাছে বোঝাটি সরিয়ে ফেলছেন - যা বিশ্রাম নয়।
সুতরাং কিছু উদাহরণ কি?
বিশ্রামরত:
শান্ত নয়:
অস্থিরতা সার্ভারের - রাষ্ট্রহীনতা থেকে আসে। ক্লায়েন্টরা অ্যাপ্লিকেশনের স্থিতি বজায় রাখতে পারে এবং সার্ভারের কাছে তারা কোথায় রয়েছে তা জানাতে প্রেরণ করতে পারে যাতে সার্ভারটি সেখান থেকে কোথায় যেতে হবে তা সিদ্ধান্ত নিতে পারে। মূলত সেশনস / রাজ্যগুলির historicalতিহাসিক তথ্য প্রয়োজন এবং এটি পূর্ববর্তী অনুরোধগুলির উপর নির্ভরশীল তাই কথা বলার জন্য, প্রশান্তিযুক্ত অ্যাপ্লিকেশনগুলি আদর্শভাবে হয় না (আপনার যদি লগইন স্ক্রিন থাকে তবে 100% খাঁটি বিশ্রামপ্রাপ্ত অ্যাপ্লিকেশনটি পাওয়া সম্ভব নয় :)
কেউ কুকি ব্যবহার করতে পারেন। রেস্ট তাদের অনুমতি দেয়।
আরআরএসটি-র প্রয়োজন যে কোনও সেশনের তথ্য ক্লায়েন্টের পাশেই সঞ্চিত করা উচিত তবে এটি যখন প্রমাণীকরণের কথা আসে, কিছু তথ্য সুরক্ষার কারণে সার্ভারের পাশে থাকতে হয়।
আমার ব্লগ পোস্টগুলির মধ্যে একটি থেকে একটি সাধারণ চুক্তি রয়েছে যে অনুমোদনের ডেটা REST সম্পর্কিত সুযোগের বাইরে বিবেচনা করা হয়। সুতরাং, সার্ভারগুলির পক্ষে এই সেশনটির কিছু তথ্য তাদের পাশে রাখা ঠিক।