2016-06-14 64 views
1

我已經使用Partner Center REST API爲訂單/訂閱的租戶提供服務。現在我想開始爲剛剛創建的租戶配置域和用戶。我的第一步是獲取使用Graph API https://msdn.microsoft.com/en-us/library/azure/ad/graph/api/users-operations的用戶列表作爲期待查看管理員帳戶的測試。如果我通過請求網址中的經銷商帳戶域,它會向我顯示經銷商用戶。但是,當我放入剛剛置備的帳戶域時,我得到Invalid domain name in the request url.我正在使用代理商AD令牌來執行此操作。我很困惑,因爲它給了我指定一個域的選項,但我只能訪問我自己的域。如何通過Graph API將用戶添加到租戶?

我應該在這裏使用什麼憑證?我嘗試使用從規定中爲管理員帳戶生成的用戶/通行證,但在嘗試從Graph API獲取AD令牌時得到了unauthorized_client

+0

2017詳細信息 - **請求url中的域名無效**如果您發現經典圖形調用(https://graph.windows.net/)出現此錯誤,請嘗試切換您的tenant guid id請求網址中包含完整的域名。這失敗了... https://graph.windows.net/GuidValue/這工程... https://graph.windows.net/MyTenantName.onmicrosoft.com/我也避免使用任何「常見」的變體 –

回答

0

沙盒帳戶和Azure存在問題。訪問沙盒的Azure管理門戶並不簡單,目前無法正常運行。我必須使用我的hotmail帳戶創建一個免費的Azure帳戶,然後將AD帳戶從新帳戶鏈接到我的沙盒AD以繞過該錯誤。向新的Azure帳戶添加新目錄時,選擇「使用現有目錄」,註銷,然後登錄到要鏈接到的沙箱帳戶。然後從新帳戶創建您的應用。

適當讓我的應用程序設置和新的憑據後,我不得不啓用預先同意與年底上市的說明:https://github.com/Microsoft/Partner-Center-Explorer

最後,我必須登錄到圖形API與客戶ID,但與經銷商憑證。

1

因爲它們有點寬泛,所以很難直接解決您的問題,我需要關於您正在使用的各種租戶的更具體的詳細信息,您的應用程序的供應方式,您的應用程序的權限等。

但是,我認爲有幾個校長可以關注哪些可以幫助您調試問題。

  • 所有AAD認證都發生在特定租戶的上下文中。這意味着無論何時獲取資源的訪問令牌,該令牌的範圍都限於租戶的邊界。
  • 要在租戶上下文中使用客戶端應用程序進行身份驗證,您必須將應用程序註冊到您試圖訪問的租戶(業務線應用程序/單租戶)中,或者您必須讓應用程序爲多租戶,在這種情況下,您的應用應該能夠在任何租戶的情況下運行......如果發生了正確的配置。
  • 您的應用試圖運行的每個租戶都必須擁有租戶中提供的應用的服務主體。該服務主體代表您在該租戶環境中的應用程序身份,並充當存儲應用程序在該租戶環境中的權限的地方。通常情況下,在該租戶的用戶同意將該應用用作登錄體驗的一部分之後,將此服務主體配置到租戶中。
  • 如果您嘗試使用用戶上下文(授權代碼授權流程)來檢索有關租戶的詳細信息,則必須確保該用戶存在於您嘗試查詢的目錄中。例如,用戶U可以存在於他們的家庭租戶T1中。如果您嘗試使用該用戶帳戶查詢另一承租人T2,則會收到任意數量的描述該用戶帳戶不存在的錯誤等。您可以通過在T2中爲U創建一個來賓帳戶來解決此問題,在這種情況下,在T2中創建一個全新的用戶對象,該對象鏈接到T1中的原始用戶對象。無論如何,用戶對象應始終存在於您試圖查詢的租戶中。
  • 如果您嘗試使用T1和T2中的用戶帳戶登錄應用程序,則需要確保指定要爲其實際獲取令牌的用戶。默認情況下,如果您使用公共端點,則會爲用戶主租戶獲取令牌。但是,只要您在發出請求時將其指定給我們的令牌服務,就可以爲二級租戶獲取令牌。
  • 最後,如果您要對Graph API進行特定調用,那麼用於發出這些請求的客戶端應用程序需要具有對Graph API的正確權限。每個租戶都需要單獨同意租戶環境中的應用程序,以便爲其應用程序提供正確的權限。

考慮到這些原則: 您使用「unauthorized_client」獲得的錯誤似乎是二級租戶中的應用程序調配問題。請確保首先使用二級租戶的用戶登錄到應用程序,並確保該用戶具有同意您的應用程序的正確權限(租戶管理員最好在此處)。

對於第二個問題「請求url中的域名無效」,請嘗試使用一些提示here。 具體如下:

通過使用myOrganization別名。此別名僅在使用OAuth授權碼授予類型(三方)認證時可用;即使用委派的權限範圍時。別名不區分大小寫。它將替換URL中的對象標識或租戶域。使用別名時,Graph API會根據附加到請求的令牌中顯示的聲明來派生租戶。以下URL顯示瞭如何解決使用此別名的租戶的用戶資源集合: https://graph.windows.net/myorganization/users?api-version=1.6

我希望這能讓您找到解決大部分問題的正確途徑。

0

scenarios on the Partner Center SDK website在「管理客戶帳戶」部分下包含「管理用戶帳戶和分配許可證」部分。

這些示例包括創建用戶和分配許可證以及指向控制檯測試應用程序的鏈接。

順便說一下,新版本的Partner Center SDK剛剛上市here。它於7月5日發佈。雖然我沒有找到正式的更改歷史記錄,但我可以看到它包含一些新的類,例如CustomerUser。您可能會發現使用該庫比使用REST API更容易(取決於您已經完成了多少工作)。

+0

我見過變化。我現在爲圖形API提供的一些用戶功能在合作伙伴中心工作。我還沒有嘗試過,似乎很奇怪,因爲我必須在添加用戶之前驗證域,並且合作伙伴中心中沒有域功能。也許這種限制不在新的變化中。我會發現是否需要改變它。至於跳過REST ... SDK只是一個C#REST包裝器,而我在Python中。 – rtaft

相關問題