我正在读一篇关于如何使用令牌中继模式保护spring云网关的文章。
https://spring.io/blog/2019/08/16/securing-services-with-spring-cloud-gateway
看到了吗https://static.spring.io/blog/bwilcock/20190801/demo.png
在用户请求资源之后,网关会将其重定向到身份提供者的登录页以进行身份验证。成功后,标识提供程序将您重定向回原始请求的资源(网关),包括标识提供程序提供的访问令牌。
所以现在网关是安全的。为什么资源服务器必须针对身份提供者再次验证访问令牌?网关不是验证了吗?或者不是吗,网关只是在那里将访问令牌中继到资源服务器,以便他可以验证它?
1条答案
按热度按时间kcugc4gi1#
基本上从不相信jwt。
最后,资源服务器需要知道在哪里可以找到公钥,以验证所提供的访问令牌的真实性。uaa提供了一个端点,资源服务器和网关在运行时都依赖该端点来执行此检查。端点在application.yml中为每个应用程序配置
资源服务器永远不能100%确定访问令牌是由身份提供者创建的,甚至是来自网关。因此,至少,您应该确保访问令牌是由身份提供者使用公钥签名的,公钥由配置的端点公开。