আপনার প্রশ্নটি পড়ার সাথে সাথে আমি ইন্টারনেটে অনুসন্ধানের জন্য সাফল্য ছাড়াই চেষ্টা করেছি যে কীভাবে বেরার টোকেনগুলি এনক্রিপ্ট করা বা স্বাক্ষরিত। আমার ধারনা বহনকারী টোকেনগুলি হ্যাশ করা হয়নি (সম্ভবত আংশিকভাবে তবে সম্পূর্ণ নয়) কারণ সেক্ষেত্রে এটি ডিক্রিপ্ট করা এবং এটির থেকে ব্যবহারকারীদের সম্পত্তি পুনরুদ্ধার করা সম্ভব হবে না।
তবে আপনার প্রশ্নটি বেরার টোকেন কার্যকারিতাটির উত্তর খুঁজে পাওয়ার চেষ্টা করছে বলে মনে হচ্ছে:
ধরুন আমি কোনও অনুমোদন প্রদানকারীকে প্রয়োগ করছি, আমি কি বাহক টোকেনের জন্য কোনও ধরণের স্ট্রিং সরবরাহ করতে পারি? এটি একটি এলোমেলো স্ট্রিং হতে পারে? এটি কিছু বৈশিষ্ট্যের একটি বেস 64 এনকোডিং হতে হবে? এটা করা উচিত?
সুতরাং, আমি কীভাবে বেয়ার টোকেন এবং টোকেন টোকেনগুলি কাজ করে তা বোঝানোর চেষ্টা করব:
ব্যবহারকারী যখন এসএসএলের মাধ্যমে টোকেন প্রেরণকারী ব্যবহারকারী এবং পাসওয়ার্ডের জন্য সার্ভারে অনুরোধ করেন, সার্ভার দুটি জিনিস ফেরত দেয়: একটি অ্যাক্সেস টোকেন এবং একটি রিফ্রেশ টোকেন ।
অ্যাক্সেস টোকেন এমন একটি বেয়ার টোকেন যা আপনাকে কংক্রিট ব্যবহারকারী হিসাবে প্রমাণীকরণের জন্য সমস্ত অনুরোধ শিরোনাম যুক্ত করতে হবে।
Authorization: Bearer <access_token>
অ্যাক্সেস টোকেন হ'ল আপনার ইচ্ছামত সমস্ত ব্যবহারকারীর বৈশিষ্ট্য, দাবি এবং ভূমিকা সহ একটি এনক্রিপ্ট করা স্ট্রিং। (আপনি আরও ভূমিকা বা দাবি যুক্ত করলে একটি টোকেনের আকার আরও বেড়ে যায় তা আপনি পরীক্ষা করতে পারেন)। রিসোর্স সার্ভারটি একবার অ্যাক্সেস টোকেন পেয়ে গেলে, এটি এটি ডিক্রিপ্ট করতে এবং এই ব্যবহারকারীর বৈশিষ্ট্যগুলি পড়তে সক্ষম হবে। এইভাবে, ব্যবহারকারীকে সমস্ত অ্যাপ্লিকেশন সহ বৈধতা দেওয়া হবে এবং মঞ্জুরি দেওয়া হবে।
অ্যাক্সেস টোকেনগুলির একটি সংক্ষিপ্ত মেয়াদ শেষ হবে (অর্থাত 30 মিনিট)। যদি অ্যাক্সেস টোকেনগুলির দীর্ঘ মেয়াদ শেষ হয় তবে এটি সমস্যা হবে কারণ তাত্ত্বিকভাবে এটি প্রত্যাহার করার কোনও সম্ভাবনা নেই। সুতরাং এমন একটি ভূমিকাটি এমন একজন ব্যবহারকারীকে কল্পনা করুন যাতে একটি ভূমিকা = "অ্যাডমিন" থাকে যা "ব্যবহারকারী" এ পরিবর্তিত হয়। যদি কোনও ব্যবহারকারী ভূমিকা = "অ্যাডমিন" দিয়ে পুরানো টোকেন রাখেন তবে তিনি অ্যাডমিন অধিকারের সাথে টোকেনের মেয়াদ শেষ হওয়া পর্যন্ত অ্যাক্সেস করতে পারবেন। এজন্য অ্যাক্সেস টোকেনগুলির একটি স্বল্প মেয়াদ উত্তীর্ণ হবে।
তবে, একটি বিষয় মাথায় আসে। যদি অ্যাক্সেস টোকেনটির স্বল্প মেয়াদ শেষ হয় তবে আমাদের প্রতিটি স্বল্প মেয়াদে ব্যবহারকারী এবং পাসওয়ার্ড প্রেরণ করতে হবে। এটি কি নিরাপদ? না, তা নয়। আমাদের এড়ানো উচিত। রিফ্রেশ টোকেনগুলি যখন এই সমস্যাটি সমাধান করতে উপস্থিত হয়।
রিফ্রেশ টোকেনগুলি ডিবিতে সংরক্ষণ করা হয় এবং এর দীর্ঘ মেয়াদ শেষ হবে (উদাহরণস্বরূপ: 1 মাস) 1
একটি ব্যবহারকারী একটি নতুন অ্যাক্সেস টোকেন পেতে পারে (যখন এটি শেষ হয়, প্রতি 30 মিনিটে উদাহরণস্বরূপ) রিফ্রেশ টোকেন ব্যবহার করে, যা ব্যবহারকারী টোকেনের জন্য প্রথম অনুরোধে পেয়েছিল। যখন অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়, ক্লায়েন্টকে অবশ্যই একটি রিফ্রেশ টোকেন প্রেরণ করতে হবে। যদি এই রিফ্রেশ টোকেনটি ডিবিতে বিদ্যমান থাকে তবে সার্ভার ক্লায়েন্টকে একটি নতুন অ্যাক্সেস টোকেন এবং অন্য একটি রিফ্রেশ টোকেন ফিরিয়ে দেবে (এবং নতুন দ্বারা রিফ্রেশ টোকনটি প্রতিস্থাপন করবে)।
যদি কোনও ব্যবহারকারীর অ্যাক্সেস টোকেন আপস করা হয় তবে সেই ব্যবহারকারীর রিফ্রেশ টোকেনটি অবশ্যই ডিবি থেকে মুছতে হবে। এইভাবে টোকেনটি কেবল অ্যাক্সেস টোকেনের মেয়াদ শেষ না হওয়া পর্যন্ত বৈধ হবে কারণ যখন হ্যাকার রিফ্রেশ টোকেন প্রেরণ করে নতুন অ্যাক্সেস টোকেন পাওয়ার চেষ্টা করে, এই ক্রিয়াটি অস্বীকার করা হবে।