为什么 azure-active-directory-spring-boot-starter 需要访问 Microsoft?

Why azure-active-directory-spring-boot-starter needs access to Microsoft?

我正在为单页应用程序 (https://www.npmjs.com/package/@azure/msal-browser) 使用新的 msal.js。好消息是我一切正常!因此,在登录到 azure ad 后,我使用访问代码重定向到我的应用程序,并且使用该代码 msal 从 azure 代码获取 accesstoken/refreshtoken/idtoken。

在此之后,我使用访问令牌访问我自己的网站 API,该网站托管在我自己的本地服务器上。我将 spring 引导与 azure-active-directory-spring-boot-starter 结合使用。这一切也都很好。

我的问题是:每次有对服务器的请求时,我的服务器都会联系 Microsoft...这是为什么?它已经从请求中获得了 JWT 令牌,服务器知道 clientid 和客户端密码,那么为什么它仍然需要联系 Microsoft?这是什么doing/verifying?如果我关闭对 Internet 的传出访问,它会抱怨“无法检索远程 JWK 集:连接超时”。所以看起来这是强制性的...

谁能解释一下这是如何工作的?除此之外,有谁知道需要向微软开放什么范围的端口?

在此先感谢您的帮助!

此致,

彼得

该网络调用用于获取验证 JSON Web 令牌所需的密钥。

文档:https://docs.microsoft.com/en-us/azure/active-directory/develop/access-tokens#validating-the-signature

更多:https://github.com/microsoft/azure-spring-boot/issues/802#issuecomment-571076721