我在使用旧版本指南中的JWT身份验证时遇到了问题,但我想专注于新的Play 2.6。 根据官方文档,现在在幕后使用JWT。 看起来应该有一种更简单的方法,而不是创建ActionBuilder和一堆其他类或导入第三方库,但我无法弄清楚需要做什么。 有人可以指导我如何使用2.6创建JWT令牌/密钥吗? 最好是Java,但我也可以通过Scala找到方法。
请问有人能指导我如何在2.6中创建JWT令牌/密钥吗?最好是用Java,但我也可以通过Scala来实现。JWT已经嵌入到会话cookie中了。对此你不需要做任何事情。在Play中没有用户可见的JWT标头,但你可以使用Play在后台使用的JJWT库https://github.com/jwtk/jjwt来创建自己的JWT并使用它。有一个示例项目https://github.com/franzgranlund/play-java-jwt使用了一个略有不同的JWT库来处理标头,但是可以给你提供思路。最重要的事情是验证你收到的JWT是否使用了相同的算法,例如没有人发送了alg=NONE或其他愚蠢的算法,并且确保你正在使用一个合适的算法,例如HMAC-SHA256与AES-GCM。如果您对加密/签名感兴趣,可以参考https://github.com/playframework/play-scala-secure-session-example/中的示例。