ฉันกำลังทำงานบนเว็บไซต์ที่จะอนุญาตให้ผู้ใช้เข้าสู่ระบบโดยใช้ข้อมูลประจำตัว OAuth จาก Twitter, Google และอื่น ๆ ในการทำเช่นนี้ฉันต้องลงทะเบียนกับผู้ให้บริการที่หลากหลายเหล่านี้และรับคีย์ API ลับสุดยอดที่ฉันมี เพื่อปกป้องด้วยคำมั่นสัญญาจากส่วนต่างๆของร่างกาย หากคีย์ของฉันถูก ganked ส่วนนั้นจะถูกดึง
คีย์ API ต้องเดินทางไปพร้อมกับที่มาของฉันเนื่องจากมันถูกใช้ที่รันไทม์เพื่อทำการร้องขอการตรวจสอบสิทธิ์ ในกรณีของฉันคีย์ต้องมีอยู่ภายในแอปพลิเคชันในไฟล์กำหนดค่าหรือภายในโค้ดเอง นั่นไม่ใช่ปัญหาเมื่อฉันสร้างและเผยแพร่จากเครื่องเดียว อย่างไรก็ตามเมื่อเราส่งการควบคุมแหล่งที่มาลงในการผสมสิ่งต่าง ๆ ก็ซับซ้อนขึ้น
ในฐานะที่ฉันเป็นไอ้เลวราคาถูกฉันก็อยากใช้บริการควบคุมแหล่งข้อมูลฟรีเช่น TFS ในคลาวด์หรือ GitHub สิ่งนี้ทำให้ฉันมีปริศนาเล็กน้อย:
ฉันจะรักษาร่างกายของฉันให้เหมือนเดิมได้อย่างไรเมื่อคีย์ API ของฉันอยู่ในรหัสของฉันและรหัสของฉันจะมีอยู่ในที่เก็บสาธารณะ
ฉันสามารถนึกถึงวิธีการต่าง ๆ ในการจัดการกับสิ่งนี้ แต่ไม่มีวิธีใดที่น่าพอใจ
- ฉันสามารถลบข้อมูลส่วนตัวทั้งหมดจากรหัสและแก้ไขกลับมาหลังจากการใช้งาน นี่จะเป็นความเจ็บปวดที่รุนแรงในการติดตั้ง (ฉันจะไม่ให้รายละเอียดหลาย ๆ วิธี) และไม่ใช่ตัวเลือก
- ฉันสามารถเข้ารหัสได้ แต่เมื่อฉันต้องถอดรหัสมันทุกคนที่มีแหล่งที่มาสามารถคิดวิธีการดังกล่าว ไม่มีจุดหมาย
- ฉันสามารถจ่ายสำหรับการควบคุมแหล่งข้อมูลส่วนตัว ฮ่า ๆ j / k ใช้เงินไหม โปรด.
- ฉันสามารถใช้คุณสมบัติภาษาเพื่อแยกข้อมูลที่ละเอียดอ่อนออกจากส่วนที่เหลือของแหล่งข้อมูลของฉันและทำให้ไม่สามารถควบคุมแหล่งที่มาได้ นี่คือสิ่งที่ฉันทำตอนนี้ แต่มันอาจจะเมาอย่างง่ายดายโดยการตรวจสอบผิดในไฟล์ลับ
ฉันกำลังมองหาวิธีการรับประกันเพื่อให้แน่ใจว่าฉันจะไม่แบ่งปันทรัพย์สินส่วนตัวของฉันกับโลก (ยกเว้นใน snapchat) ที่จะทำงานได้อย่างราบรื่นผ่านการพัฒนาการแก้ไขข้อบกพร่องและการปรับใช้และจะเข้าใจผิดได้เช่นกัน นี่ไม่สมจริงอย่างสมบูรณ์ แล้วฉันจะทำอะไรที่แนบเนียน?
รายละเอียดทางเทคนิค: VS2012, C # 4.5, การควบคุมแหล่งข้อมูลอาจเป็นบริการ TF หรือ GitHub ขณะนี้ใช้คลาสบางส่วนเพื่อแยกคีย์ที่ละเอียดอ่อนออกในไฟล์. cs แยกที่จะไม่ถูกเพิ่มลงในการควบคุมแหล่งที่มา ฉันคิดว่า GitHub อาจมีข้อได้เปรียบเนื่องจากสามารถใช้. gignignore เพื่อให้แน่ใจว่าไฟล์คลาสบางส่วนไม่ได้เช็คอิน แต่ฉันเมาก่อนหน้านี้ ฉันหวังว่าจะเป็น "โอ้ปัญหาทั่วไปนี่คือวิธีที่คุณทำ" แต่ฉันอาจต้องจัดการเพื่อ "ที่ไม่ดูดมากเท่าที่จะมี",: /