在Play Framework 2.6中使用JWT身份验证

时间:2017-11-16 17:28:37

标签: playframework jwt playframework-2.6

我在使用guides for older versions使用JWT身份验证时遇到问题,但我想关注新的Play 2.6

根据official documentation,JWT现在在引擎盖下使用。

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

有人可以给我指导如何用2.6创建JWT令牌/秘密吗?最好是Java,但我也可以通过Scala。

1 个答案:

答案 0 :(得分:3)

  

有人可以给我指导如何用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或傻事,并确保您使用的算法不错,即使用AES-GCM的HMAC-SHA256。

如果您对通常使用加密/签名感兴趣,https://github.com/playframework/play-scala-secure-session-example/中有一个应该有用的示例。