9

显然 Play 1.x 有一个命令“play secret”,可以创建一个新的 application.secret,但我在 Play 2.x 中没有看到等效的命令。建议在从开发转移到生产时更改密钥,因此我需要找到一种方法为此制作新密钥。

4

6 回答 6

20

你说的对。我认为这个功能还没有在2.x版本中实现。恐怕唯一的办法就是创建一个新项目。每个新项目都会生成一个新的密钥。然后只复制新生成的密钥。

我认为这个问题是针对您的问题提出的: https://groups.google.com/forum/#!topic/play-framework/aMyM_fDglSs中引用的https://github.com/n8han/giter8/issues/42

祝你好运。

编辑 2020-01-23:

看起来他们回到了驼峰式,所以在当前版本的 Play w/SBT 上应该是

sbt playGenerateSecret

编辑 2015-05-11:

正如@myk 所指出的,这现在已在 sbt 插件中实现,您需要运行:

sbt play-generate-secret

或者

sbt play-update-secret

编辑 2015-07-02

使用活化剂:

activator playGenerateSecret
于 2013-09-24T20:31:05.583 回答
6

这是在 Scala 控制台中执行此操作的方法:

$ scala

scala> val r = new java.security.SecureRandom
r: java.security.SecureRandom = java.security.SecureRandom@b4ca6f6

scala> (1 to 64).map(_=>(r.nextInt(74)+48).toChar).mkString.replaceAll("\\\\+", "/")
res4: String = cCU`liU?i^R3f:Tk3ekG9a0^hjtwADUi@X2OtjAqKG`vv/>dk@cq_QOnu47WQ<0_

你的秘密是关键现在是:

cCU`liU?i^R3f:Tk3ekG9a0^hjtwADUi@X2OtjAqKG`vv/>dk@cq_QOnu47WQ<0_
于 2014-07-08T13:10:32.743 回答
5

sbt play-generate-secret

或者

sbt play-update-secret

如果您想更新 application.conf 中的现有密钥

更多信息在这里 https://www.playframework.com/documentation/2.3.2/ApplicationSecret

于 2015-04-06T14:45:12.713 回答
3

在玩 2.4 使用

activator playGenerateSecret
于 2015-08-20T11:14:41.993 回答
2

正如 adis 所提到的,您可以只创建一个随机字符串,即使它更长也没关系。两次使用 uuidgen 可以获得比键入更好的熵:

application.secret="44786442-c4a6-49b7-a8cc-c44c09c5471d-6b55adcc-efeb-4f6b-b997-b222f3877119"

在这里工作没有问题。

于 2014-06-20T18:23:21.310 回答
1

玩 2.6 需要

sbt playGenerateSecret

命令

于 2018-07-31T19:45:40.997 回答