কৌনিকটিতে JWT এর মেয়াদ শেষ হওয়ার পরে কোনও ব্যবহারকারীকে কীভাবে স্বয়ংক্রিয়ভাবে লগ আউট করবেন

আনসপ্ল্যাশ-এ ছবি করেছেন মাহদিস মৌসভী

সুতরাং আপনি কয়েকটি টিউটোরিয়াল পড়েছেন, সম্ভবত ডকুমেন্টেশনে কিছুটা ডুব দিয়েছেন এবং কিছু গুণমানের কোডিংয়ের পরে আপনি প্রথমে একটি দুর্দান্ত প্রথম কৌণিক অ্যাপ্লিকেশন পেয়েছেন যার সাথে একটি শিক্ষানবিস হিসাবে আকাঙ্ক্ষা রয়েছে: স্লিক ডিজাইন, উপাদান উপাদানগুলি, গার্ড ব্যবহার করে সুরক্ষিত রুট এবং নোডজেএস দিয়ে তৈরি ব্যাকএন্ডের অংশ হিসাবে লগইন সিস্টেম? নাকি বসন্ত ছিল?

JSON ওয়েব টোকেনের মেয়াদ শেষ হওয়া পর্যন্ত অপেক্ষা করা পর্যন্ত সমস্ত কিছুই কাজ করে বলে মনে হচ্ছে তবে আপনি এখনও সেই সুরক্ষিত দৃশ্যের দিকে তাকিয়ে রয়েছেন। সম্ভবত কোনও বিগী নয়, ব্যবহারকারী সত্যিই ব্যাকএন্ডের সাথে আলাপচারিতা করতে পারে না, কারণ ভাল, টোকেনটির মেয়াদ শেষ হয়ে গেছে, তবে অবশ্যই এটি একটি বিশদ যা পালিশ করা আবশ্যক। আরএক্সজেএস প্রবেশ করুন।

আপনি যদি এটিকে কোড করে রেখেছেন তবে প্রতিক্রিয়াগুলি কি আপনি ইতিমধ্যে কিছু আরএক্সজেএস স্পর্শ করেছেন এবং চারপাশে পর্যবেক্ষণের একটি গুচ্ছ দেখেছেন। যদি সত্যিই তা না হয় তবে এখানে প্রকল্পের ওয়েবসাইট থেকে একটি দ্রুত সংজ্ঞা দেওয়া হয়েছে:

অ্যাসিক্রোনাস বা কলব্যাক-ভিত্তিক কোড রচনা করা আরও সহজ করার জন্য আরএক্সজেএস হল পর্যবেক্ষণযোগ্যগুলি ব্যবহার করে প্রতিক্রিয়াশীল প্রোগ্রামিংয়ের একটি লাইব্রেরি।

উদ্ধার পরিষেবা

আমি ধরে নেব যে কোনও উত্সর্গীকৃত লেখক পরিষেবাদিতে আপনার কাছে লেখার যুক্তি রয়েছে। এটি কারণ কারণ ব্যবহারকারীর স্থিতি কোনও একক উপাদানের উপর নির্ভর করতে পারে না।

আরও অ্যাডো না করে আসুন কিছু কোড দেখুন।

ব্যবহারকারী প্রমাণীকরণ প্রবাহ

এই নমুনা বাস্তবায়নে, আমাদের কাছে একটি প্রাথমিক 3 টি পদক্ষেপ রয়েছে অথ ফ্লো, যেখানে ব্যবহারকারী লগইন করে (অ্যাপ্লিকেশনটি কোথাও জেডাব্লুটি সংরক্ষণ করে), ব্যবহারকারী সুরক্ষিত রুট / ভিউগুলি ব্যবহার করে ব্যাকএন্ডের সাথে যোগাযোগ করে (এইচটিটিপি অনুরোধগুলি আটকানো হয় এবং একটি অনুমোদনের শিরোনাম সংযুক্ত করা হয়) তাদের কাছে) এবং অবশেষে, ব্যবহারকারী লগ আউট করে বা JWT এর মেয়াদ শেষ হয়, যেটি প্রথমে আসে।

লগইন যুক্তি

আমাদের লগইন উপাদান থেকে, আমরা ব্যবহারকারীর শংসাপত্রগুলি ব্যাকএন্ডে প্রেরণ করি। যদি সবকিছু ঠিক থাকে তবে আমরা স্টোর ইউজারডাটা () পদ্ধতিটি কল করি, যা সেশন স্টোরেজে জেডাব্লুটিটি এবং ব্যবহারকারীর নাম সংরক্ষণ করে, এই টোকেনের মেয়াদ শেষ হওয়ার জন্য অবশিষ্ট সময় গণনা করে এবং অবশেষে আমাদের কাজের মেয়াদ শেষ করার জন্য আমাদের এক্সপায়ারস কাউন্টারকে কল করে।

জেডব্লিউটি মেয়াদোত্তীর্ণ কাউন্টার যুক্তি

আসুন এখন টোকেন-টু-টু-টু-টু-মেয়াদ-থেকে-প্রতিক্রিয়াটির জন্য প্রকৃত অপেক্ষার সাথে ডিল করি। প্রথমত, আমরা পূর্ববর্তী সাবস্ক্রিপশনগুলি থেকে মুক্তি পেতে চাই। আমরা ক্লাসে সাবস্ক্রিপশন সম্পত্তিটি সংজ্ঞায়িত করেছি, সাবস্ক্রিপশনটি সাবস্ক্রাইব করে, রিডানডেন্সিটি ক্ষমা করি।

তারপরে আমরা একটি নতুন তৈরি করি, আসুন আমরা এটি একটি নকল অবজার্ভেবল '(নাল)' পেরিয়ে দিয়ে শুরু করি, যা থেকে আমরা জেডাব্লুটিটির মেয়াদ শেষ হতে ঠিক যে পরিমাণ সময় ফেলেছিল এবং অবশেষে, যখন এটি ঘটে, আমরা আমাদের লগআউট পদ্ধতিটি কল করি এবং লগইন পৃষ্ঠায় ব্যবহারকারীকে রুট করি।

লগআউট যুক্তি

লগআউট পদ্ধতিতে, আমরা প্রথমে নিশ্চিত হয়ে থাকি যে চলমান সাবস্ক্রিপশনটি থেকে আমরা সাবস্ক্রাইব করেছি, যেমন সেশনটির মেয়াদ শেষ হওয়ার আগেই ব্যবহারকারী লগ আউট করে ফেলেছিলেন এবং শেষ পর্যন্ত আমরা সমস্ত অধিবেশন সম্পর্কিত তথ্য থেকে শ্রেণীর বৈশিষ্ট্য এবং সেশন স্টোরেজ সাফ করি।

আরও তথ্যের জন্য দস্তাবেজগুলি পরীক্ষা করুন বা আরও ভাল উদাহরণ, ব্যাখ্যা এবং RxJS এর ​​সংস্থানগুলি সহ এই সুপার দরকারী গাইড guide

পড়ার জন্য ধন্যবাদ.