我有一个应用程序位于 WAF(Web 应用程序防火墙)后面。
应用程序正在使用 Microsoft Active Directory 进行身份验证。
步骤如下
- 用户尝试使用浏览器访问应用程序。
- WAF 层发现 REQUEST 未经身份验证,因此将其转发到 Azure Active Directory
- AAD 显示登录页面,用户输入用户名/密码/MFA
- 现在来自 AAD 的 token 发送回浏览器,并将其发送到后端应用程序
现在的问题是,
- 后端应用程序如何验证此 token ?它是否需要与 AAD 的出站连接,还是通过 WAF 和浏览器与 AAD 通信?
- 我是否需要有 NSG 规则(出站)才能与 AAD 对话?
最佳答案
这取决于您使用的身份验证流程。
对于 Authorization code flow ,您的应用程序需要与 AAD 通信以兑换访问 token 的授权代码并通过反向 channel 刷新 token 。因此,您需要允许连接到 AAD (login.microsoftonline.com)。
对于 Implicit grant flow ,它是浏览器通过前端 channel 直接从AAD获取访问 token 。因此,在这种情况下,您不需要在后端 WAF 中加入白名单。
关于c# - 应用程序如何验证来自 Azure Active Directory 的经过身份验证的 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65249780/