[英]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.