আমি এমন একটি ওয়েবসাইটে কাজ করছি যা ব্যবহারকারীদের টুইটার, গুগল ইত্যাদির পছন্দ থেকে ওআউথ শংসাপত্রগুলি ব্যবহার করে লগ ইন করার অনুমতি দেবে এটি করার জন্য, আমাকে এই বিভিন্ন সরবরাহকারীদের সাথে নিবন্ধন করতে হবে এবং আমার কাছে একটি সুপার-সিক্রেট এপিআই কী পেতে হবে দেহের বিভিন্ন অঙ্গগুলির বিরুদ্ধে প্রতিশ্রুতি রক্ষা করতে। যদি আমার কীটি গ্যাঙ্কড হয়ে যায় তবে অংশটি ইয়াঙ্কড হয়ে যায়।
এপিআই কীটি আমার উত্সের সাথে ভ্রমণ করতে হবে, কারণ এটি রানটাইমে প্রমাণীকরণের অনুরোধগুলি সম্পাদন করতে ব্যবহৃত হয়। আমার ক্ষেত্রে, অ্যাপ্লিকেশনটির মধ্যে একটি কনফিগারেশন ফাইলে বা কোডের মধ্যেই কীটি থাকা আবশ্যক। আমি যখন কোনও একক মেশিনটি তৈরি করি এবং প্রকাশ করি তখন সমস্যা হয় না। তবে, আমরা যখন মিশ্রণে উত্স নিয়ন্ত্রণ নিক্ষেপ করি তখন বিষয়গুলি আরও জটিল হয় get
যেহেতু আমি একটি সস্তা জারজগার, আমি ক্লাউড বা গিটহাবের মতো টিএফএসের মতো মুক্ত উত্স নিয়ন্ত্রণ পরিষেবা ব্যবহার করতে বেশি পছন্দ করতাম। এটি আমাকে সামান্য ধাক্কা দিয়ে ফেলেছে:
আমার কোডগুলি যখন আমার কোডটিতে থাকে এবং আমার কোডটি কোনও পাবলিক ভান্ডারে পাওয়া যায় তখন কীভাবে আমি আমার দেহ অক্ষত রাখতে পারি?
আমি এটি পরিচালনা করার বিভিন্ন উপায় সম্পর্কে ভাবতে পারি, তবে এর মধ্যে কোনওটিই সন্তোষজনক নয়।
- আমি কোড থেকে সমস্ত ব্যক্তিগত তথ্য সরিয়ে ফেলতে এবং স্থাপনার পরে এটিকে আবার সম্পাদনা করতে পারি। এটি কার্যকর করার জন্য একটি গুরুতর ব্যথা হবে (আমি বিভিন্ন উপায়ে বিশদ করব না), এবং এটি কোনও বিকল্প নয়।
- আমি এটি এনক্রিপ্ট করতে পারে। তবে আমাকে এটি ডিক্রিপ্ট করতে হবে, উত্স সহ যে কেউ কীভাবে এটি করতে পারে তা বুঝতে পারে। অর্থহীন।
- আমি ব্যক্তিগত উত্স নিয়ন্ত্রণের জন্য অর্থ দিতে পারতাম। এলএল জে / কে অর্থ ব্যয় করবেন? অনুগ্রহ.
- আমি আমার উত্স থেকে সংবেদনশীল তথ্য আলাদা করতে ভাষা বৈশিষ্ট্যগুলি ব্যবহার করতে পারি এবং তাই এটি উত্স নিয়ন্ত্রণ থেকে রাখতে পারি। আমি এখন এটিই করছি, তবে গোপন ফাইলটিতে ভুল করে চেক করে সহজেই এটি আঁকতে পারে।
আমি আমার প্রাইভেটসকে বিশ্বের সাথে (স্ন্যাপচ্যাট ব্যতীত) ভাগ না করে যা নিশ্চিত করার জন্য একটি গ্যারান্টিযুক্ত উপায় সন্ধান করছি যা উন্নয়ন, ডিবাগিং এবং মোতায়েনের মাধ্যমে সুষ্ঠুভাবে কাজ করবে এবং পাশাপাশি নির্বোধও হবে। এটি সম্পূর্ণ অবাস্তব। তাহলে আমি বাস্তবে কী করতে পারি?
প্রযুক্তিগত বিশদ: VS2012, সি # 4.5, উত্স নিয়ন্ত্রণটি হয় টিএফ পরিষেবা বা গিটহাব হতে চলেছে। সংবেদনশীল কীগুলি আলাদা আলাদা .cs ফাইলে বিভক্ত করতে আংশিক শ্রেণি ব্যবহার করে যা উত্স নিয়ন্ত্রণে যুক্ত হবে না। আমি মনে করি যে আংশিক শ্রেণীর ফাইলটি চেক ইন করা হয়নি তা নিশ্চিত করার জন্য .gitignore ব্যবহার করা যেতে পারে বলে গিটহাবের সুবিধা থাকতে পারে তবে আমি এটি আগেই ভুল করেছি। "ওহ, সাধারণ সমস্যাটির প্রত্যাশা করছি, আপনি এটি কীভাবে করেন" তবে আমাকে "এটির যতটা চুষতে পারে না" তার জন্য নিষ্পত্তি করতে হতে পারে ":: /