簡體   English   中英

為什么我在使用 Microsoft Graph REST API 通過 Angular 調用此端點時收到 403 禁止響應?

[英]Why do I receive a 403 forbidden response when calling this endpoint with Angular, using the Microsoft Graph REST API?

主要問題

我一直致力於將 Microsoft Graph REST API 集成到 Angular(版本 10)應用程序中。 我已按照以下教程中的說明將 Angular 應用程序連接到 Microsoft Graph 並通過 Azure AD 登錄用戶(通過在應用程序注冊中注冊應用程序)。

我已按照教程的每一步進行操作,現在我決定通過獲取我所屬的 Teams 聊天來擴展應用程序,而不是 HTTP。 我決定通過將調用結果打印到瀏覽器控制台來創建一個簡單的測試,但是當我嘗試調用它時,會出現 HTTP 403 響應( “無法獲取用戶的許可證信息。確保用戶具有有效的 Office365許可證分配給他們。” )我嘗試使用學生 Office 365 帳戶和我的個人 Microsoft 帳戶執行此操作,但我繼續收到相同的 HTTP 響應。

嘗試的解決方案

在 Graph Explorer 中進行測試時,會收到正確的響應。 我已將學生帳戶添加到 Azure AD 租戶,其中個人帳戶是全局管理員。

我試圖在方法屏幕截圖中調用aquireTokenPopupaquireTokenSilentaquireTokenRedirect ,但無濟於事(我仍然收到 403 HTTP Forbidden 響應。)我還查看了docs.microsoft.com上列出的文檔,並查看了不同的此 403 響應的文檔,但我無法確定 403 響應的含義 - 學生帳戶具有有效的 Office 365 租戶,而我的個人帳戶沒有,我得到相同的響應。

為什么我會收到此響應,即使我已在彈出窗口中授予權限,以及配置為允許 Azure 中的端點?

是否有錯誤配置?

我是否使用了錯誤的身份驗證類型? (我應該使用 Azure AD B2C 嗎?)

截圖

Azure 權限

瀏覽器控制台截圖

瀏覽器HTTP截圖

方法截圖

登錄方法截圖

app.module msal 配置

發表評論作為答案:

您必須滿足以下兩點:

  1. 您必須使用工作或學校帳戶,它不支持 Microsoft 個人帳戶。

  2. 您的帳戶必須具有 Office365 許可證。

在此處輸入圖像描述

暫無
暫無

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

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