2011-12-31 21 views
12

प्रत्येक नए प्ले ऐप को अपनी कॉन्फ़िगरेशन फ़ाइल में जेनरेट किया गया एक नया एप्लिकेशन रहस्य मिलता है।ऐप को गुप्त रखने के लिए कैसे एक रहस्य है?

application.secret=asdfadsfdasf

मुझे लगता है कि Heroku पर तैनात किया जाएगा एक खुला स्रोत अनुप्रयोग विकसित कर रहा हूँ। मैं ऐप को गुप्त कैसे गुप्त रख सकता हूं (उदा। इसे स्रोत नियंत्रण में कोई प्रतिबद्ध नहीं है)?

ऐप गुप्त कहां उपयोग किया जाता है? शायद मेरे सीमित उद्देश्यों के लिए मुझे वास्तव में इसे गुप्त रखना नहीं है?

उत्तर

24

आप एक ऐसे वातावरण चर के रूप में गुप्त बाह्यरूप कर सकते हैं।

$ heroku config:add APP_SECRET=abc123... 

अब आप एक प्रति-ऐप्स पर रहस्य का प्रबंधन कर सकते हैं:

conf/application.conf में आप

application.secret=abc123... 

application.secret=${APP_SECRET} 

और फिर साथ Heroku में इस config वर सेट के साथ

की जगह आधार और संस्करण नियंत्रण में उन्हें जांचने से बचें।

+0

द्वारा सही उत्तर देखें यह सही के बारे में लगता है - धन्यवाद! – ripper234

+0

और यदि आप तैनात करने के लिए Heroku का उपयोग नहीं करेंगे? jasypt जैसे कुछ का उपयोग करने का कोई विकल्प है –

0

ऐसा लगता है कि रहस्य महत्वपूर्ण है, लेकिन आप उत्पादन बनाम विकास के लिए नए उत्पन्न कर सकते हैं। तो विकास के लिए आप इसे एसवीएन में देख सकते हैं और फिर उत्पादन के लिए एक अलग उत्पन्न कर सकते हैं।

http://www.playframework.org/documentation/1.0/production

+0

लेकिन एसवीएन (अच्छी तरह से, गिट) में मेरा application.conf उत्पादन के लिए तैनात किया जाएगा। रीफ्रिसिंग, मैं अपने application.conf को स्रोत नियंत्रण में रखना चाहता हूं। मेरा उत्पादन परिनियोजन हेरोोकू को सिर्फ 'गिट पुश' होगा। तो, क्या ऐप कुंजी बदलने के लिए मुझे पोस्ट-परिनियोजन स्क्रिप्ट चलायी चाहिए? लेकिन ... क्या यह स्क्रिप्ट स्रोत नियंत्रण के तहत संग्रहीत है? हरोकू में तैनात करते समय कुछ व्यावहारिक समाधान क्या हैं? – ripper234

+0

मुझे लगता है कि मैं गिट पुश का उपयोग न करने की वकालत कर रहा था, लेकिन आपको एक ऐसी स्क्रिप्ट की आवश्यकता होगी जो उत्पादन को धक्का देने से पहले एक नई कुंजी उत्पन्न करे, इसलिए इसे स्रोत नियंत्रण में चेक नहीं किया जाएगा। सवाल यह है कि मैं इस बारे में निश्चित नहीं हूं कि अगर आपने हर बार धक्का दिया तो उस कुंजी को फिर से उत्पन्न किया जाएगा जिससे कोई समस्या पैदा हो जाएगी? यदि नहीं, तो यह उत्पादन में रहस्य को स्टोर करने के लिए महत्वपूर्ण नहीं हो सकता है। – chubbsondubs

+0

मुझे नहीं लगता कि ऐप कुंजी बदलना एक अच्छा विचार है। यदि आप किसी चीज़ पर हस्ताक्षर करते हैं (उदा। उपयोगकर्ता पासवर्ड हैश करें), तो आपको इस सटीक हस्ताक्षर को दोहराने में सक्षम होना चाहिए, और मेरा मानना ​​है कि यह ऐप गुप्त का उपयोग करता है (चाहिए)। – ripper234

संबंधित मुद्दे