টোকেন প্রমাণীকরণ এবং কুকিজ ব্যবহার করে প্রমাণীকরণের মধ্যে পার্থক্য কী?
আমি আম্বর অথ রেলস ডেমো বাস্তবায়নের চেষ্টা করছি কিন্তু "টোকেন প্রমাণীকরণ কেন?" প্রশ্নে অ্যামবার অথ FAQ এ বর্ণিত টোকেন প্রমাণীকরণ ব্যবহার করার পিছনে কারণগুলি আমি বুঝতে পারি না ?
টোকেন প্রমাণীকরণ এবং কুকিজ ব্যবহার করে প্রমাণীকরণের মধ্যে পার্থক্য কী?
আমি আম্বর অথ রেলস ডেমো বাস্তবায়নের চেষ্টা করছি কিন্তু "টোকেন প্রমাণীকরণ কেন?" প্রশ্নে অ্যামবার অথ FAQ এ বর্ণিত টোকেন প্রমাণীকরণ ব্যবহার করার পিছনে কারণগুলি আমি বুঝতে পারি না ?
উত্তর:
একটি সাধারণ ওয়েব অ্যাপ্লিকেশন বেশিরভাগ ক্ষেত্রে রাষ্ট্রবিহীন , কারণ এটির অনুরোধ / প্রতিক্রিয়া প্রকৃতির। এইচটিটিপি প্রোটোকল স্টেটহীন প্রোটোকলের সর্বোত্তম উদাহরণ । তবে যেহেতু বেশিরভাগ ওয়েব অ্যাপ্লিকেশনকে রাষ্ট্রের প্রয়োজন , সার্ভার এবং ক্লায়েন্টের মধ্যে এই রাষ্ট্রটি ধরে রাখতে , কুকিগুলি এমনভাবে ব্যবহার করা হয় যাতে সার্ভার ক্লায়েন্টকে প্রতিটি প্রতিক্রিয়া ফেরত পাঠাতে পারে। এর অর্থ ক্লায়েন্টের পরবর্তী অনুরোধে এই কুকি অন্তর্ভুক্ত হবে এবং এটি সার্ভার দ্বারা স্বীকৃত হবে। এই পদ্ধতি সার্ভারটি একটি এমন বজায় রাখতে পারে অধিবেশন সঙ্গে আড়ম্বরহীন ক্লায়েন্ট, বেশিরভাগ অ্যাপ্লিকেশনের সম্পর্কে সবকিছু জেনে রাষ্ট্র , কিন্তু সার্ভারটি মধ্যে সংরক্ষণ করা হয়। এই পরিস্থিতিতে কোনও মুহুর্তে ক্লায়েন্ট ধরে নারাষ্ট্র , যা এমবার.জেগুলি কীভাবে কাজ করে তা নয় ।
এমবার.জেএসসে জিনিসগুলি আলাদা। এমবার.জেএস প্রোগ্রামারের কাজটিকে আরও সহজ করে তোলে কারণ এটি ক্লায়েন্টে আপনার জন্য সত্যই রাষ্ট্রকে ধরে রেখেছে , রাষ্ট্রের ডেটা চাওয়ার জন্য সার্ভারের কাছে কোনও অনুরোধ না করেই প্রতিটি মুহুর্তে তার রাষ্ট্র সম্পর্কে knowing
তবে, ক্লায়েন্টের মধ্যে থাকা অবস্থায় থাকা কখনও কখনও সমঝোতা বিষয়গুলিও প্রবর্তন করতে পারে যা কেবল রাষ্ট্রহীন পরিস্থিতিতে উপস্থিত না । এমবার.জেএস তবে আপনার জন্য এই সমস্যাগুলি নিয়েও ডিল করে, বিশেষত এমবার-ডেটা এটি মাথায় রেখেই নির্মিত হয়। উপসংহারে, এমবার.জেএস হ'ল রাষ্ট্রীয় ক্লায়েন্টদের জন্য নকশাকৃত একটি কাঠামো ।
এমবার.জেএস একটি সাধারণ স্টেটলেস ওয়েব অ্যাপের মতো কাজ করে না যেখানে সেশন , রাজ্য এবং সংশ্লিষ্ট কুকিজগুলি প্রায়শই সার্ভার দ্বারা পরিচালিত হয়। Ember.js এটা ঝুলিতে রাষ্ট্র জাভাস্ক্রিপ্ট সম্পূর্ণভাবে (ক্লায়েন্টের মেমরি, এবং কিছু অন্যান্য অবকাঠামো মত DOM মধ্যে নয়) এবং সেশনের পরিচালনা করতে সার্ভার দরকার নেই। এর ফলে এম্বার.জেএসস অনেক পরিস্থিতিতে আরও বহুমুখী হয়ে থাকে, যেমন আপনার অ্যাপ্লিকেশনটি অফলাইন মোডে থাকা অবস্থায়।
একথাও ঠিক যে নিরাপত্তাজনিত কারণে এর কোন ধরণের প্রয়োজন আছে টোকেন বা অনন্য কী সার্ভার সব একটি অনুরোধ অর্ডার তৈরি করা হয় না করা পাঠানো প্রামাণ , এই ভাবে সার্ভার পাঠাতে টোকেন (যা প্রথমে সার্ভার দ্বারা জারি করা হয়) অনুসন্ধান করতে পারেন এবং ক্লায়েন্টকে প্রতিক্রিয়া ফেরত পাঠানোর আগে এটি বৈধ কিনা তা যাচাই করুন।
আমার মতে, আম্বর আথ এফএকিউতে বর্ণিত কুকিজের পরিবর্তে একটি প্রমাণীকরণ টোকেন ব্যবহার করার মূল কারণটি মূলত এমবার.জেএস ফ্রেমওয়ার্কের প্রকৃতির কারণে এবং কারণ এটি রাষ্ট্রীয় ওয়েব অ্যাপ্লিকেশন উদাহরণের সাথে আরও ফিট করে । সুতরাং একটি এমবার.জেএস অ্যাপ্লিকেশন তৈরি করার সময় কুকি প্রক্রিয়াটি সর্বোত্তম পন্থা নয়।
আমি আশা করি আমার উত্তরটি আপনার প্রশ্নের আরও অর্থ প্রদান করবে।
এইচটিপিটি রাষ্ট্রহীন। আপনাকে অনুমোদন দেওয়ার জন্য, আপনি সার্ভারে পাঠাচ্ছেন এমন প্রতিটি অনুরোধ আপনাকে "স্বাক্ষর" করতে হবে।
টোকেন প্রমাণীকরণ
সার্ভারে একটি অনুরোধ একটি "টোকেন" দ্বারা স্বাক্ষরিত হয় - সাধারণত এর অর্থ নির্দিষ্ট http শিরোনাম নির্ধারণ করা হয় তবে এগুলি http অনুরোধের কোনও অংশে (পোষ্ট বডি ইত্যাদি) প্রেরণ করা যেতে পারে)
পেশাদাররা:
<img src="http://bank.com?withdraw=1000&to=myself" />
এবং আপনি যদি কুকি প্রমাণীকরণের মাধ্যমে bank.com এ লগ ইন হয়ে থাকেন এবং ব্যাংক ডটকমের এক্সএসআরএফের কোনও উপায় নেই) সুরক্ষা, আমি কেবল আপনার অ্যাকাউন্ট থেকে অর্থ প্রত্যাহার করব যে আপনার ব্রাউজারটি সেই ইউআরএলকে একটি অনুমোদিত জিইটি অনুরোধটি ট্রিগার করবে)) নোট করুন যে কুকি-ভিত্তিক প্রমাণীকরণের সাথে আপনি করতে পারেন এমন জালিয়াতি ব্যবস্থা রয়েছে - তবে আপনাকে সেগুলি বাস্তবায়ন করতে হবে।কুকি প্রমাণীকরণ
সামগ্রিকভাবে, আমি বলব টোকেনগুলি আপনাকে আরও ভাল নমনীয়তা দেয় (যেহেতু আপনি একক ডোমেনের সাথে আবদ্ধ নন)। খারাপ দিকটি হ'ল আপনাকে নিজের দ্বারা বেশ কয়েকটি কোডিং করতে হবে।
Are send out for every single request
টোকনগুলি প্রতিটি অনুরোধের জন্যও পাঠানো হয়
টোকেনগুলি কোথাও সংরক্ষণ করতে হবে (স্থানীয় / সেশন স্টোরেজ বা কুকিজ)
টোকেনগুলি কুকিজের মতো মেয়াদ শেষ করতে পারে তবে আপনার আরও নিয়ন্ত্রণ রয়েছে
স্থানীয় / সেশন স্টোরেজ ডোমেনগুলি জুড়ে কাজ করবে না, মার্কার কুকি ব্যবহার করুন
প্রতিটি সিওআরএস অনুরোধে প্রিফলাইট অনুরোধগুলি প্রেরণ করা হবে
আপনার যখন কিছু স্ট্রিম করার দরকার হয় তখন স্বাক্ষরিত অনুরোধটি পেতে টোকেনটি ব্যবহার করুন
এক্সএসআরএফের চেয়ে এক্সএসএসের সাথে ডিল করা সহজ
প্রতিটি অনুরোধে টোকেন প্রেরণ করা হয়, এর আকার দেখুন watch
আপনি যদি গোপনীয় তথ্য সঞ্চয় করেন তবে টোকেনটি এনক্রিপ্ট করুন
JSON ওয়েব টোকেনগুলি OAuth এ ব্যবহার করা যেতে পারে
টোকেনগুলি রূপালী বুলেট নয়, আপনার অনুমোদনের ক্ষেত্রে সাবধানতার সাথে ব্যবহারের বিষয়ে চিন্তা করুন
http://blog.auth0.com/2014/01/27/ten-things-you-should-know-about-tokens-and-cookies/
http://blog.auth0.com/2014/01/07/angularjs-authentication-with-cookies-vs-token/
গুগলারের জন্য :
STATEFULNESS
গঠনতন্ত্র
Authorization
শিরোনাম = যেমন কোনও বিশেষ চিকিত্সা ছাড়াই কেবল শিরোনাম, ক্লায়েন্টকে স্থানান্তরের সমস্ত দিক পরিচালনা করতে হয় manageস্থিতিশীল যাত্রা
hash(data + secret key)
গুপ্ত কীটি কেবলমাত্র সার্ভারের কাছেই জানা থাকে, সেখান থেকে উত্পন্ন স্বাক্ষরের সাথে প্রমাণীকরণের ডেটা সংরক্ষণ করা হয় , তাই টোকেন ডেটার অখণ্ডতা যাচাই করা যায়মেকানিজম কমপ্লেসন
httpOnly
এইভাবে ক্লায়েন্ট জাভাস্ক্রিপ্ট অ্যাক্সেস প্রতিরোধ হিসাবে চিহ্নিত করা যেতে পারেযোগ করা
আমি বিশ্বাস করি যে এখানে কিছু বিভ্রান্তি রয়েছে। কুকি ভিত্তিক প্রমাণীকরণের মধ্যে এবং এইচটিএমএল 5 ওয়েব স্টোরেজের মাধ্যমে এখন যা সম্ভব তা-ই গুরুত্বপূর্ণ পার্থক্য হ'ল ব্রাউজারগুলি যখনই ডোমেন থেকে তাদের সেট করে এমন সংস্থাগুলির অনুরোধ করে কুকি ডেটা প্রেরণের জন্য নির্মিত হয়। আপনি কুকিজ বন্ধ না করে এটি প্রতিরোধ করতে পারবেন না। ব্রাউজারগুলি ওয়েব স্টোরেজ থেকে ডেটা প্রেরণ করে না যতক্ষণ না পৃষ্ঠাটিতে কোড না পাঠায় । এবং পৃষ্ঠাগুলি কেবল সেগুলি সংরক্ষণ করা ডেটা অ্যাক্সেস করতে পারে, অন্যান্য পৃষ্ঠাগুলি দ্বারা সঞ্চিত ডেটা নয়।
সুতরাং, কোনও গুগল বা ফেসবুক কীভাবে তাদের কুকি ডেটা ব্যবহার করতে পারে সে সম্পর্কে উদ্বিগ্ন কোনও ব্যবহারকারী। তবে, তাদের কাছে ওয়েব স্টোরেজ বন্ধ করার কম কারণ রয়েছে (যতক্ষণ না বিজ্ঞাপনদাতারা এটি ব্যবহারের কোনও উপায় আবিষ্কার করে)।
সুতরাং, এটি কুকি ভিত্তিক এবং টোকেন ভিত্তিক মধ্যে পার্থক্য, পরেরটি ওয়েব স্টোরেজ ব্যবহার করে।
টোকেন ভিত্তিক প্রমাণীকরণ রাষ্ট্রবিহীন, সেশনে সার্ভারটির ব্যবহারকারীর তথ্য সংরক্ষণের দরকার নেই। এটি ব্যবহারকারী যেখানে লগ ইন করেছেন তা চিন্তা না করেই অ্যাপ্লিকেশন স্কেল করার ক্ষমতা দেয় cook কুকি ভিত্তিক ওয়েব সার্ভার ফ্রেমওয়ার্ক অ্যাফিনিটি রয়েছে যখন টোকেন ভিত্তিক কোনও সমস্যা নয়। সুতরাং একই টোকেনটি আমরা লগইন করেছি এমন একটি ডোমেনের বাইরে অন্য কোনও ডোমেইন থেকে সুরক্ষিত সংস্থান আনার জন্য ব্যবহার করা যেতে পারে যা অন্য ইউআইডি / পিডাব্লুডি প্রমাণীকরণ এড়ায়।
এখানে খুব ভাল নিবন্ধ:
টোকেন ব্যবহার করুন যখন ...
ফেডারেশন কাঙ্ক্ষিত। উদাহরণস্বরূপ, আপনি একটি সরবরাহকারী (টোকন ডিসপেন্সর) টোকেন ইস্যুকারী হিসাবে ব্যবহার করতে চান এবং তারপরে আপনার এপিআই সার্ভারটি টোকেন যাচাইকারী হিসাবে ব্যবহার করতে চান। একটি অ্যাপ টোকন ডিসপেনসরকে প্রমাণীকরণ করতে পারে, একটি টোকেন গ্রহণ করতে পারে এবং তারপরে যাচাই করার জন্য সেই টোকনটি আপনার এপিআই সার্ভারে উপস্থাপন করতে পারে। (একই কাজ গুগল সাইন-ইন বা পেপাল। বা সেলফোর্স ডটকম ইত্যাদির সাথে কাজ করে)
অ্যাসিঙ্ক্রোনির প্রয়োজন। উদাহরণস্বরূপ, আপনি ক্লায়েন্টকে একটি অনুরোধ প্রেরণ করতে চান এবং তারপরে সেই অনুরোধটি কোথাও সংরক্ষণ করুন, "পরে" আলাদা সিস্টেমের দ্বারা কাজ করা উচিত। এই পৃথক সিস্টেমে ক্লায়েন্টের সাথে একটি সুসংগত সংযোগ থাকবে না এবং এটির কেন্দ্রীয় টোকেন ডিসপেনসারির সাথে সরাসরি সংযোগ নাও থাকতে পারে। কোনও জেডব্লিউটি অ্যাসিক্রোনাস প্রসেসিং সিস্টেম দ্বারা পড়তে পারে যা নির্ধারণ করতে পারে যে কাজের আইটেমটি পরবর্তী সময়ে পূরণ করা উচিত এবং উচিত। এটি একরকমভাবে উপরের ফেডারেশন ধারণার সাথে সম্পর্কিত। এখানে সতর্ক থাকুন: জেডব্লিউটি মেয়াদ শেষ হয়ে গেছে। যদি কাজের আইটেমটি ধরে থাকা সারিটি JWT- এর জীবদ্দশায় প্রক্রিয়া না করে, তবে দাবিগুলি আর বিশ্বাস করা উচিত নয়।
সিয়েন্ট স্বাক্ষরিত অনুরোধ প্রয়োজন। এখানে, অনুরোধটি তার ব্যক্তিগত কী ব্যবহার করে ক্লায়েন্ট দ্বারা স্বাক্ষরিত হয়েছে এবং সার্ভারটি ক্লায়েন্টের ইতিমধ্যে নিবন্ধিত পাবলিক কী ব্যবহার করে যাচাই করবে।
প্রাথমিক পার্থক্যগুলির মধ্যে একটি হ'ল কুকিজগুলি একই উত্স নীতি সাপেক্ষে যদিও টোকেনগুলি নেই। এটি সমস্ত ধরণের ডাউন স্ট্রিম প্রভাব তৈরি করে।
যেহেতু কুকিজ কেবল একটি নির্দিষ্ট হোস্টের কাছে এবং কেবলমাত্র প্রেরণ করা হয় যে হোস্টকে অবশ্যই ব্যবহারকারীকে সত্যায়িত করার ভার বহন করতে হবে এবং যাচাইযোগ্য হওয়ার জন্য ব্যবহারকারীকে সেই হোস্টের সাথে সুরক্ষা ডেটা সহ একটি অ্যাকাউন্ট তৈরি করতে হবে।
অন্যদিকে টোকেনগুলি ইস্যু করা হয় এবং একই উত্স নীতি সাপেক্ষে না। ইস্যুকারী আক্ষরিকভাবে যে কোনও হতে পারে এবং কোন ইস্যুকারীকে আস্থা রাখতে হবে তা সিদ্ধান্ত নেওয়া হোস্টের উপর নির্ভর করে। গুগল এবং ফেসবুকের মতো ইস্যুকারী সাধারণত ভাল বিশ্বাসযোগ্য তাই কোনও হোস্ট ব্যবহারকারীকে প্রমাণীকরণের ভার (সমস্ত ব্যবহারকারী সুরক্ষা ডেটা সংরক্ষণ করে) অন্য একটি পক্ষের কাছে স্থানান্তর করতে পারে এবং ব্যবহারকারী তাদের নির্দিষ্ট ডেটা নির্দিষ্ট ইস্যুয়ারের অধীনে একীভূত করতে পারে এবং এটি মনে রাখতে হবে না প্রতিটি হোস্ট তাদের সাথে যোগাযোগ করে তার জন্য বিভিন্ন পাসওয়ার্ডের গুচ্ছ।
এটি এমন পরিস্থিতিতে এমন একক চিহ্নের অনুমতি দেয় যা ব্যবহারকারীর অভিজ্ঞতায় সামগ্রিক ঘর্ষণকে হ্রাস করে। তাত্ত্বিকভাবে ওয়েব আরও সুরক্ষিত হয়ে উঠায় বিশেষায়িত পরিচয় সরবরাহকারীরা প্রতিটি মা এবং প ওয়েবসাইটের নিজস্ব, সম্ভবত অর্ধেক বেকড, লেখক সিস্টেমগুলিকে কাটানোর পরিবর্তে লেখক পরিষেবাদি সরবরাহ করতে উপস্থিত হয়। এবং এই সরবরাহকারীরা শূন্যের দিকে এমনকি খুব প্রাথমিক উত্সের প্রবণতার জন্য সুরক্ষিত ওয়েব সংস্থান সরবরাহের ব্যয় হিসাবে উদ্ভূত হয়।
সুতরাং সাধারণভাবে টোকেনগুলি প্রমাণীকরণ সরবরাহের সাথে সম্পর্কিত ঘর্ষণ এবং ব্যয়কে হ্রাস করে এবং সুরক্ষিত সিস্টেমের প্রয়োগ ও পরিচালনা উভয়ই সক্ষম করতে কেন্দ্রীয়ভাবে সুরক্ষিত ওয়েবের বিভিন্ন দিকের বোঝাটিকে আরও ভালভাবে সক্ষম করে তোলে ized