CouchDB নিরাপত্তার জন্য দুটি প্রধান Authentication পদ্ধতি ব্যবহার করে: Cookie-based Authentication এবং Token-based Authentication। এই দুটি পদ্ধতি ব্যবহারকারীকে তাদের অ্যাক্সেস প্রদান করে, কিন্তু তাদের কাজ করার পদ্ধতি এবং নিরাপত্তার ব্যবস্থাপনা আলাদা। নিচে এই দুটি পদ্ধতির বিস্তারিত আলোচনা করা হলো:
Cookie-based Authentication একটি ক্লায়েন্ট-সার্ভার ভিত্তিক প্রক্রিয়া, যেখানে সার্ভার একটি cookie তৈরি করে এবং ক্লায়েন্টকে তা প্রদান করে। ক্লায়েন্ট তার পরবর্তী অনুরোধে সেই cookie ব্যবহার করে সার্ভারের কাছে অ্যাক্সেস প্রমাণিত করে।
curl -X POST http://127.0.0.1:5984/_session -H "Content-Type: application/json" -d '{
"name": "admin",
"password": "admin_password"
}'
এটি একটি cookie ফিরিয়ে দেবে, যা পরবর্তী রিকুয়েস্টে ব্যবহার করতে হবে।
curl -X GET http://127.0.0.1:5984/mydatabase -b cookies.txt
এখানে, cookies.txt
ফাইলে প্রাপ্ত cookie সংরক্ষিত থাকবে, যা সার্ভার যাচাই করে প্রমাণীকৃত রিকুয়েস্ট হিসেবে গ্রহণ করবে।
Token-based Authentication ব্যবহারকারীর প্রমাণীকরণের জন্য একটি JWT (JSON Web Token) বা অন্য ধরনের টোকেন ব্যবহার করে। এই পদ্ধতিতে, ব্যবহারকারী একবার লগইন করলে, সার্ভার তাকে একটি Token প্রদান করে এবং সেটি পরবর্তী অনুরোধে ব্যবহার করা হয়। টোকেন সাধারণত নির্দিষ্ট সময়ের জন্য বৈধ থাকে এবং সময়সীমা শেষ হলে আবার নতুন টোকেন সংগ্রহ করতে হয়।
curl -X POST http://127.0.0.1:5984/_session -H "Content-Type: application/json" -d '{
"name": "admin",
"password": "admin_password"
}'
এটি JWT বা Token প্রদান করবে, যা পরবর্তী অনুরোধে ব্যবহার করতে হবে।
curl -X GET http://127.0.0.1:5984/mydatabase -H "Authorization: Bearer <token>"
এখানে, <token>
এর স্থানে প্রাপ্ত JWT বা Token ব্যবহার করতে হবে।
বৈশিষ্ট্য | Cookie-based Authentication | Token-based Authentication |
---|---|---|
প্রমাণীকরণের পদ্ধতি | ব্যবহারকারী প্রথম লগইন করলে একটি cookie প্রদান করা হয়। | প্রথম লগইনে টোকেন (যেমন JWT) প্রদান করা হয়। |
অ্যাক্সেস মেথড | পরবর্তী রিকুয়েস্টে cookie ব্যবহার করা হয়। | পরবর্তী রিকুয়েস্টে token হেডারে পাঠানো হয়। |
লগিন এবং টোকেন | সার্ভারকে প্রতিটি রিকুয়েস্টে cookie পাঠাতে হয়। | সার্ভারকে প্রতিটি রিকুয়েস্টে token পাঠাতে হয়। |
টোকেনের সময়সীমা | সাধারণত cookie একটি নির্দিষ্ট সময়ের জন্য বৈধ থাকে। | টোকেনের একটি নির্দিষ্ট সময়সীমা থাকে (যেমন ১ ঘণ্টা)। |
নিরাপত্তা | নিরাপত্তা cookie চুরি হওয়ার সম্ভাবনা থাকতে পারে। | টোকেন চুরি হলে, তা দীর্ঘ সময় অবৈধভাবে ব্যবহার করা যেতে পারে। |
common.read_more