簡體   English   中英

應用程序如何驗證來自 Azure Active Directory 的經過身份驗證的令牌?

[英]How does application validate the authenticated token from Azure Active Directory?

我有一個位於 WAF(Web 應用程序防火牆)后面的應用程序。

應用程序正在使用 Microsoft Active Directory 進行身份驗證。

以下是步驟

  1. 用戶嘗試使用瀏覽器訪問應用程序。
  2. WAF 層看到 REQUEST 未經過身份驗證,因此將其轉發到 Azure Active Directory
  3. AAD 顯示登錄頁面,用戶輸入用戶名/密碼/MFA
  4. 現在來自 AAD 的令牌發送回瀏覽器,它將被發送到后端應用程序

現在的問題是,

  • 后端應用程序如何驗證此令牌? 它是否需要與 AAD 的出站連接,還是會通過 WAF 和瀏覽器與 AAD 對話?
  • 我是否需要有 NSG 規則(出站)才能與 AAD 交談?

在此處輸入圖像描述

這取決於您使用的身份驗證流程。

  • 對於授權代碼流,您的應用程序需要與 AAD 對話以通過反向通道兌換訪問令牌和刷新令牌的身份驗證代碼。 因此,您需要允許連接到 AAD (login.microsoftonline.com)。 授權碼流程圖

  • 對於隱式授權流,它是瀏覽器通過前端通道直接從 AAD 獲取訪問令牌。 因此,在這種情況下,您不需要在后端 WAF 中加入白名單。 隱式授權流程圖

我已通過使用 NSG 中的service tag功能解決了該問題。 后端應用程序需要能夠訪問 AAD 才能驗證訪問令牌。

我添加了帶有目標Service Tag Azure Active Directory的出站規則,如下所示。

在此處輸入圖像描述

這是鏈接: https://docs.microsoft.com/en-us/azure/virtual-network/service-tags-overview

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM