使用 JWT 认证与 Play Framework 2.6

7

我在使用旧版本指南中的JWT身份验证时遇到了问题,但我想专注于新的Play 2.6。

根据官方文档,现在在幕后使用JWT。

看起来应该有一种更简单的方法,而不是创建ActionBuilder和一堆其他类或导入第三方库,但我无法弄清楚需要做什么。

有人可以指导我如何使用2.6创建JWT令牌/密钥吗? 最好是Java,但我也可以通过Scala找到方法。

1个回答

5
请问有人能指导我如何在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/中的示例。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接