我不熟悉网络令牌安全性,我正在尝试实现一个到目前为止没有运气的情况。我已经查看了许多教程和代码示例和项目,但它们要么太高级,只有代码块,要么明确说明此代码是用于学习目的而不是用于生产。
我的要求如下:
我有3个服务需要由多个外部经销商网络应用程序调用 我需要确保从经销商应用程序到我们的应用程序的电话。我们将使用SSL进行通信。
我正在使用带有Java ee的JBOSS EAP7,我计划使用JWT的实现(如jjwt)。
我在网上找到的典型场景是客户端应用程序首先调用一个身份验证服务(我们编写),传递应用程序ID和一个秘密(String)密码以获取JWT令牌。在此之后,应用程序在每次调用3个服务时都会传递此令牌,我们必须在遵循每个请求之前对其进行验证。
我的问题如下:
令牌生成。我不确定在发送令牌之前是否需要加密令牌。一些网站谈论使用base64加密,有些讨论用私钥加密签名。我对JWS和JWE概念感到困惑。是否有一个很好的示例或教程可以指导我如何安全地生成令牌?
在这样的场景中,JWT令牌的典型过期时间是什么,他们是否需要在每次服务调用之前调用并获取新令牌?如果令牌已过期,客户端应用程序是否必须在再次调用之前检查它是否已过期,或者它等待我们的服务返回错误?
是否有一个简单的示例,说明如何通过请求传递令牌以及如何在服务器上验证它?
如果可以重复使用,客户端应用程序是否需要将令牌存储在cookie或会话中?
谢谢
答案 0 :(得分:1)
clientid:secret
)以换取(未加密的)JWT