簡體   English   中英

來自后端 Azure 廣告的用戶圖形請求

[英]Graph request as User from backend Azure Ad

我最近遇到了一個問題。

我的前端使用 Oauth2 在 Azure(組織)上驗證我的用戶。 這給了我包含 idToken 和 accessToken 的多個信息。

我的后端使用 AADResourceServerWebSecurityConfigurerAdapter 對用戶進行身份驗證,這要歸功於從前端放入 Authorization Bearer header 的 idToken。

Unitil在這里一切正常。 我可以通過以下方式獲得連接的用戶:

public static String getConnectedUserEmail() {
        return (String) ((AADOAuth2AuthenticatedPrincipal) SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getAttributes().get("preferred_username");
    }

我使用我的后端應用程序憑據代表 API 本身聯系圖表 api。

雖然,按照 Azure 廣告文檔,我不能代表 API 查詢組/日歷,我必須代表用戶進行。 為了尊重 SOLID 原則,我想從后端發出請求,但代表用戶。 我找不到任何相關信息。

所以這是我的最后一個問題:我怎樣才能代表用戶在我的后端制作一個圖表 API 請求? 知道嘗試使用用戶的 tokenValue (idToken) 或 accessToken 值會返回來自 Microsoft 的無效憑據。

如您所說,您請求GET /groups/{id}/calendar獲取組日歷。

您可以使用代表流程的訪問令牌調用 Graph API,請參見此處

在此處輸入圖像描述

有一個使用代表流程的示例: https://github.com/Azure-Samples/ms-identity-java-webapi

注意:確保添加了以下委派權限。

在此處輸入圖像描述

暫無
暫無

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

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