我想使用官方的NuGet庫(https://github.com/microsoftgraph/msgraph-sdk-dotnet)使用GraphAPI。然而,認證過程並不是微不足道的,也沒有很好的記錄。在機器對機器的場景使用MSAL作爲CSP
我在一臺機器對機器的場景CSP的合作伙伴,所以與重定向URL,其中用戶手動輸入的憑據同意訪問沒有UI的應用程序。但它似乎是我找到的樣本中記錄的或可用的獨特方案......即使是官方的CSP文件也不清楚(https://developer.microsoft.com/en-us/graph/docs/concepts/auth_cloudsolutionprovider)。
我先前使用的許多其他的API在生產(和TIP環境)像MSOL,CrestAPI和AzureGraph一個CSP,因此應用程序的所有的配置和註冊是沒有問題的。
是否有可能在機器對機器場景中使用MSAL作爲CSP?是否有任何文檔或樣本可用於我的用例?
UPDATE
我覺得我是好路徑。
首先,我必須在apps.dev.microsoft.com上註冊我的應用程序。我的應用程序以前在portal.azure.com上註冊過。看起來像AzureAD和Graph有不同的要求,涉及到應用程序必須註冊的地方。
其次,我在這裏使用示例:https://github.com/Azure-Samples/active-directory-dotnet-daemon-v2。
第三,我可以在提供我的CSP TenantId時調用Graph API。然而,當我嘗試調用使用我管理的租戶之一的TenantId圖形API,我得到了一個:
{ "error": {
"code": "Authorization_IdentityNotFound",
"message": "The identity of the calling application could not be established.",
"innerError": {
"request-id": "7cab3137-b3e7-4622-9123-e47f2c018c56",
"date": "2017-09-04T14:48:34"
} } }
(我不能在我的使用情況下,同意頁面,所以我想花同意書我的應用程序爲所有消費者使用:https://developer.microsoft.com/en-us/graph/docs/concepts/auth_cloudsolutionprovider)
在Connect Sample中啓動應用程序時,它會將我重定向到login.microsoftonline.com以進行身份驗證,這對我來說並不合適。 我的用例根本不涉及用戶。這是一臺機器來加工場景。這是因爲我是CSP合作伙伴(微軟經銷商),而不是通過Web應用程序管理我自己的用戶的租戶。 想象一下,夜間運行的同步作業在作爲CSP合作伙伴管理的多個租戶上執行一些工作。 –
我認爲這將有助於我:https://github.com/Azure-Samples/active-directory-dotnet-daemon-v2 –
是的,守護樣品不會有任何最終用戶的交互,並可能是對你的情況下更好的榜樣!我鏈接的樣本是用戶流量,但可以幫助您進一步定位MSAL。 –