আমার কাছে এই ওয়েব অ্যাপ্লিকেশনটি যা সমস্ত ক্লায়েন্ট-সাইড প্রযুক্তি হতে চলেছে (এইচটিএমএল, সিএসএস, জাভাস্ক্রিপ্ট / অ্যাঙ্গুলারজেএস, ইত্যাদি ...)। ডেটা অ্যাক্সেস এবং সংশোধন করার জন্য এই ওয়েব অ্যাপ্লিকেশনটি REST এপিআইয়ের সাথে ইন্টারঅ্যাক্ট করতে চলেছে। আরআরটি এপিআই কী ধরণের প্রমাণীকরণ সিস্টেম ব্যবহার করছে তা এখনই অনির্ধারিত।
আমার বোধগম্যতা থেকে, কোনও প্রকারের API প্রমাণীকরণ সিস্টেম (API কীগুলি, OAuth 1/2, ইত্যাদি ...) এ এমন কিছু ডেটা রয়েছে যা গোপন রাখতে হবে অন্যথায় অ্যাক্সেসের সাথে আপস করা যেতে পারে। এপিআই কীগুলির জন্য, তাদের কীগুলি নিজেরাই গোপনীয় হওয়া দরকার, OAuth 2 এর জন্য ক্লায়েন্ট সিক্রেট / অ্যাক্সেস টোকেন / রিফ্রেশ টোকেনগুলি গোপন রাখা দরকার, আমি নিশ্চিত যে OAuth 1 এর সাথে জড়িত 4 টি কীগুলির কয়েকটিকে গোপন রাখা দরকার (না OAuth 1) এর সাথে খুব বেশি অভিজ্ঞতা। আমি ভেবে দেখার চেষ্টা করে যাচ্ছি যে সার্ভারের পাশের কোনও মাঝারি স্তর ছাড়াই খাঁটি ক্লায়েন্ট-সাইড ওয়েব অ্যাপ্লিকেশনটিতে এই গোপন জিনিসগুলি সংরক্ষণ করার কোনও উপায় আছে কিনা।
আমি এটি সম্পর্কে চিন্তা করার চেষ্টা করেছি এবং আমি এটি করার কোনও জায়গার কথা ভাবতে পারি না। মানে আমি এটি জাভাস্ক্রিপ্টে সঞ্চয় করতে পারছি না কারণ যে কেউ কেবল উত্সটি দেখতে বা কনসোলটি খুলতে এবং ডেটা পেতে পারে। লোকালস্টোরেজ কতটা সুরক্ষিত এবং যদি ব্যবহারকারীরা সেই ডেটা অ্যাক্সেস / সংশোধন করতে পারে তবে আমি 100% নিশ্চিত নই। এমনকি স্থানীয় সঞ্চয়স্থান সুরক্ষিত থাকলেও এর মধ্যে ডেটা পাওয়ার জন্য যে দুটি উপায় আমি ভাবতে পারি তা নয়। একটি উপায় হ'ল জাভাস্ক্রিপ্ট উত্স কোডে কেবলমাত্র ডেটা সঞ্চয় করা যা আমি মনে করতে পারি এটি সবচেয়ে সুরক্ষিত জিনিস। এখন যদি আমি ওআউথ 2 এর মতো কিছু ব্যবহার করতাম যাতে বাকী এপিআই নিজেই আমাকে টোকেন দেয় তবে তা এখনও নিরাপদ হবে না (প্রথম বিকল্পের চেয়ে ভাল) কারণ এই টোকেনগুলি সরল পাঠ হিসাবে ফিরে আসবে যে যে কেউ দেখতে পাবে কম্পিউটার যে অনুরোধ করছে তা দেখতে পেল।
সম্পূর্ণরূপে ক্লায়েন্ট পক্ষ চলমান এমন কোনও অ্যাপ্লিকেশন পাওয়ার কোনও উপায় কী সার্ভারের পাশের মাঝারি স্তর ছাড়াই কোনও গোপন তথ্য নিরাপদে সংরক্ষণ করতে সক্ষম হবে?