2017-09-01 24 views
2

我想使用官方的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

回答

0

您可以使用MSAL執行圖形SDK所需的身份驗證。有一些使用.NET Graph SDK和MSAL的code snippets,但最好的選擇是Connect Sample,它在一個可用的應用程序中顯示了這一點。

有關如何使用MSAL一個完整的引導樣本,什麼該庫,簽出MSAL .NET Desktop Sample

+0

在Connect Sample中啓動應用程序時,它會將我重定向到login.microsoftonline.com以進行身份​​驗證,這對我來說並不合適。 我的用例根本不涉及用戶。這是一臺機器來加工場景。這是因爲我是CSP合作伙伴(微軟經銷商),而不是通過Web應用程序管理我自己的用戶的租戶。 想象一下,夜間運行的同步作業在作爲CSP合作伙伴管理的多個租戶上執行一些工作。 –

+0

我認爲這將有助於我:https://github.com/Azure-Samples/active-directory-dotnet-daemon-v2 –

+0

是的,守護樣品不會有任何最終用戶的交互,並可能是對你的情況下更好的榜樣!我鏈接的樣本是用戶流量,但可以幫助您進一步定位MSAL。 –

相關問題