我在Oauth2 Framework中实现了JWT Token。在实现之后,我几乎没有想到的查询,如下所示:
1。在JWT实现之前,每当用户访问资源服务器中具有相应访问令牌作为承载的API时,资源服务器使用 user-info-uri 端点检查auth服务器,如下所示
security:
oauth2:
resource:
user-info-uri: https://localhost:8080/auth/user
在JWT实现之后,我认为资源服务器和auth服务器之间没有发生检查调用,而是使用公钥验证JWT令牌的签名。但是为了在获取JWT令牌后检查这一点,我停止了auth服务器并尝试查看资源服务器是否验证了jwt令牌并给出了响应,但是这失败了。资源服务器是否与Auth Server建立任何连接?
2。之前在JWT实现之前,所有令牌都在数据库中持久化,因此在成功授权后获取令牌,并且由于令牌在DB中持久存在,因此令牌将是相同的,即使他再次调用相同的令牌API直到到期。在JWT实现之后,看起来JWT建议不要使生成的令牌持久存在于DB中,这意味着每次用户调用令牌端点时,他都会得到不同的JOT令牌。我们是否需要在数据库中保留JWT令牌?
3。任何人都可以在http://jwt.io/中看到所有用户详细信息,包括JWT令牌中的用户角色,这是否会产生任何问题?
除了上述查询之外,任何人都可以告诉我在Oauth2中使用JWT令牌的其他利弊是什么
答案 0 :(得分:0)
我将回答“我们是否需要在数据库中保留JWT令牌?”
答案是否定的。 JWT的想法是在客户端处理auth。您应该将JWT发送到客户端并将其保留在本地存储中。