我有一个运行在Google App Engine上的Java服务器,并与第三方服务(例如SendGrid)集成。
存储这些第三方服务的凭据(用户名/密码,API密钥)的最佳方法是什么?在Java代码中,还是通过配置文件(例如web.xml或appengine-web.xml)或其他位置?我将如何通过代码访问凭据?
如果您在GAE中使用Java,
您可以将凭据保存在src / main / resources /下的文件中,或者,如果不使用此结构,请将文件放入src包中。
ClassLoader classloader = Thread.currentThread().getContextClassLoader();
InputStream is = classloader.getResourceAsStream("credentials.json");
或者
InputStream is = AnyClassName.class.getResourceAsStream("credentials.json");
如何读取的答案在此,如何从资源文件夹加载文件?
然后您可以使用任何Json库将inputStream转换为Map或任何pojo,其中流行的是
另外,请确保未在版本控制中跟踪该文件(如果使用任何文件),以使该文件对其他人不可用,并且只有在部署过程中,您才能注入该文件。
相同的解决方案也适用于其他语言,只是不像Java一样具有相同的文件夹结构。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句