簡體   English   中英

如何為Exchange 2016配置混合模式以使OAuth2客戶端憑據流與Microsoft Graph API一起使用

[英]How to configure Hybrid mode for Exchange 2016 to have OAuth2 Client Credentials flow working with Microsoft Graph API

我在客戶的Exchange 2016上配置了混合模式。現在,使用個人同意流(授權代碼Oauth2流)在Microsoft Graph API上公開用戶的郵箱。

通過客戶端憑據流獲得管理員同意似乎有效:在Microsoft端點上檢索到令牌,有效負載是正確的(正確的范圍),但在使用它通過Microsoft獲取郵箱內容時會觸發“未知錯誤”圖API。 相同的標記確實可以獲取目錄信息(意味着令牌在某些時候有效)。

混合模式是否與Client Credentials流程兼容? 是否有任何參數要在Exchange中配置以啟用此流程?

我不久前偶然發現了同樣的問題。 只是讓它滑動,因為我認為這是Exchange方面的一些錯誤配置。

如果您檢查兩個令牌,您將看到客戶端憑據令牌上缺少sid,我認為交換需要令牌中的某種內部部署用戶ID才能工作。 我不確定是否支持此流程,因為我在他們的文檔網站上找不到關於此主題的任何內容。

我剛剛找到一個完全相關的問題,請查看https://stackoverflow.com/a/56108226/639153以獲得完整的答案。

問題實際上是在其他地方 - Exchange似乎不支持client_credentials流。 您可以通過以下PowerShell強制它(確保在應用后重新啟動IIS):

$apps = Get-PartnerApplication
# Microsoft Graph is 2nd item in the array, if you are unsure, list the items by calling $apps first
$apps[1] | Set-PartnerApplication -AppOnlyPermissions $apps[1].ActAsPermissions

完整的解釋可以在這里找到: https//blog.thenetw.org/2019/05/13/using-client_credentials-with-microsoft-graph-in-hybrid-exchange-setup/

暫無
暫無

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

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