我在Google App Engine上运行Java Server,并与第三方服务(例如SendGrid)集成。
为这些第三方服务存储凭据(用户名/密码,API密钥)的最佳方法是什么?在Java代码中,还是通过web.xml或appengine-web.xml等配置文件?我如何通过代码访问凭证?
答案 0 :(得分:1)
如果您在GAE中使用Java,那么
您可以将凭据保存在 src / main / resources / 下的文件中,或者如果您不使用此结构,请将文件放在 src 包中。
ClassLoader classloader = Thread.currentThread().getContextClassLoader();
InputStream is = classloader.getResourceAsStream("credentials.json");
或
InputStream is = AnyClassName.class.getResourceAsStream("credentials.json");
如何阅读,How do I load a file from resource folder?
然后你可以使用任何Json库将inputStream转换为Map或任何pojo,流行的是,
还要确保在版本控制中没有跟踪文件(如果使用任何文件),以便该文件不可供其他人使用,并且只有在部署期间才能注入该文件。
同样的解决方案也适用于其他语言,只是不像java那样的文件夹结构。
答案 1 :(得分:0)