教學課程:使用 Microsoft 身分識別平台來註冊 Python Web 應用程式
本教學課程系列示範如何建置 Python Web 應用程式來登入使用者,並呼叫受保護的 Web API。 您可以使用適用於 Python 的 Microsoft 驗證程式庫來驗證您 Microsoft Entra ID 租用戶中的使用者。 最後,您將執行應用程式來登入、呼叫受保護的 API,以及將使用者登出。
在本教學課程中,您已:
- 在 Microsoft Entra 系統管理中心內註冊 Web 應用程式並記錄其識別碼
- 定義平台和 URL
- 建立 Web 應用程式的用戶端密碼
- 將權限授與 Web 應用程式以存取 Microsoft Graph API
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 如果您沒有帳戶,可免費建立帳戶。
- 您所使用的 Azure 帳戶必須具有管理應用程式的權限。 下列任何 Microsoft Entra 角色都包含必要的權限:
- 應用程式系統管理員
- 應用程式開發人員
- 雲端應用程式系統管理員
註冊 Python Web 應用程式並記錄識別碼
若要將身分識別和存取管理功能整合到您的應用程式中,請使用 Microsoft 身分識別平台來註冊您的應用程式。 遵循下列步驟,以在 Microsoft Entra 系統管理中心內註冊您的應用程式:
- 登入 Microsoft Entra 系統管理中心。
- 如有多個租用戶的存取權,則請使用頂端功能表中的 [設定] 圖示 ,以從 [目錄 + 訂用帳戶] 功能表來切換要在其中註冊應用程式的租用戶。
- 瀏覽至 [身分識別] > [應用程式] > [應用程式註冊],然後選取 [新增註冊]。
- 輸入您應用程式的名稱,例如 python-flask-webapp。 當應用程式的使用者使用應用程式時 (例如在登入期間),可能會看到顯示名稱。 您可以隨時變更顯示名稱。
- 在 [支援的帳戶類型] 底下,選取 [僅在此組織目錄中的帳戶]。
- 選取 [註冊] 以完成伺服器初始註冊。
註冊完成時,Microsoft Entra 系統管理中心會顯示應用程式註冊的 [概觀] 窗格。 從 [概觀] 窗格中,記錄要用於後續步驟的 [目錄 (租用戶) 識別碼] 和 [應用程式 (用戶端) 識別碼]。
新增重新導向 URI
若要為 Python Flask Web 應用程式新增重新導向 URI,請遵循下列步驟:
- 在 Microsoft Entra 系統管理中心的 [應用程式註冊] 中,選取您的應用程式。
- 在 [管理] 底下,選取 [驗證]。
- 在 [平台設定] 下方,選取 [新增平台],然後選取 [Web]。
- 選取 Web 作為應用程式的平台時,會提示您輸入重新導向 URI。 新增
http://localhost:5000/getAToken
作為 Web 應用程式的重新導向 URI。 - 選取設定。
設定認證
在本教學課程中,您將使用用戶端密碼 (也稱為應用程式密碼) 以將應用程式識別為機密用戶端。 請遵循下列步驟,將用戶端祕密新增至您的應用程式註冊:
- 在 Microsoft Entra 系統管理中心的 [應用程式註冊] 中,選取您的應用程式。
- 在 [管理] 下,選取 [憑證和密碼]。
- 在用戶端密碼區段底下,選取新增用戶端密碼。
- 在 [新增用戶端祕密] 窗格中,提供用戶端祕密的描述。
- 選取祕密的到期日,或指定自訂存留期。
- 用戶端祕密存留期限制為兩年 (24 個月) 或更少。 您無法指定超過 24 個月的自訂存留期。 Microsoft 建議您將到期值設定為少於 12 個月。
- 選取新增。
- 記錄用戶端祕密值 (不是其識別碼),供後續步驟使用。 祕密值只有在您建立時才會顯示一次,且在離開此頁面之後永遠不會顯示。
雖然您已在本教學課程中使用用戶端密碼,但建議先使用憑證,再將應用程式移至生產環境。 如需如何使用憑證的詳細資訊,請參閱這些指示 \(部分機器翻譯\)。
新增範圍
因為此應用程式會將使用者登入,所以您需要新增委派的權限:
- 在 [管理] 底下,選取 [API 權限]>[新增權限]。
- 確認已選取 [Microsoft API] 索引標籤。
- 在 [常用的 Microsoft API] 區段中,選取 [Microsoft Graph]。
- 從 [委派的權限] 區段中,確定已選取 [User.Read]。 如有需要請使用搜尋方塊。
- 選取新增權限。