这可能会非常简单。我玩了!需要与AWS交谈的应用程序,即使在开发模式下,我也试图从代码中获取任何机密。
我在函数中有以下代码(减去案例类):
case class AwsCredentials(token: String, accessId: String, secretKey: String)
val client = AWSSecurityTokenServiceClientBuilder.defaultClient()
val token = client.getSessionToken
client.shutdown()
val cred = AmazonS3ClientBuilder.standard()
.withRegion(Regions.US_EAST_1).getCredentials.getCredentials
AwsCredentials(token.getCredentials.getSessionToken,
cred.getAWSAccessKeyId,
cred.getAWSSecretKey)
cred.getAwsAccessKeyId
和cred.getAWSSecretKey
总是落到魔术键上,而不是来自可以设置的环境变量或者来自user.dir/.aws/credentials
或来自/home/play/.aws/
的魔术键。因为服务确实以游戏方式运行。
本地游玩!通过sbt运行,这很好用并使用我的本地密钥,但是一旦我部署它并从init.d脚本开始它就不再这样做了。我已经在环境变量中确认了它,并且我们使用其他环境变量,它们工作正常。
最终这是一个AWS问题,但由于我可以在播放用户的同时使用hexite在本地工作,因此Play中必定存在一些不妥之处。
谢谢!
答案 0 :(得分:0)
很抱歉浪费任何时间选择阅读和思考这个问题,作为根本问题,我几乎肯定是,我需要提供accessKey fineuploader
,所以这是页面和角色模式我需要一个令牌,一旦我这样做就需要作为标题传递,我没有使用匹配privateKey
的{{1}}签署请求
如果我弄清楚,或者想花时间修改JS代码,我会回复。