簡體   English   中英

如何跨活動目錄添加權限? (有關在天藍色中設置多租戶應用程序的問題)

[英]how to add permissions across active directory? (problems with setting up multi-tenant app in azure)

現在,我在Azure活動目錄1中有一個應用程序,在Azure活動目錄2中有一個Web API。 我的目的是允許AAD1和AAD2中的用戶都可以登錄該應用程序。

到目前為止,我已將App和Api啟用為多租戶,並在清單中將它們彼此添加為已知的客戶端應用程序。

我尚未完成的工作:將一個作為自定義域添加到另一個中,向btw api和app添加權限,而我在這兩個上遇到了一些問題。

現在我的錯誤信息是:

通過授權服務器授權訪問時發生錯誤:authenticated_client AADSTS65005:無效>資源。 客戶端已請求訪問未在客戶端應用程序注冊的請求權限中列出的資源。

當我嘗試在api中的所需權限列表中提供訪問權限時,我沒有看到該Web應用程序(位於另一個目錄中)。 我該怎么辦?

如果我將App和Api都移到同一目錄下,是否有其他用戶允許登錄的目錄?

為了使租戶1中的Web API作為“必需的權限列表”的選項可見,您需要將Web API的服務主體設置到租戶1中。

您可以通過多種方法執行此操作,但是最簡單的方法可能是通過生成登錄URL來簡單地登錄Web API。 使用租戶1中的用戶登錄后,將在租戶中預配服務主體,然后可以選擇該選項。

https://login.microsoftonline.com/common/oauth2/authorize?client_id=<appid>&response_type=code&redirect_uri=<replyurl>&resource=<resource>&prompt=consent

另一個選擇可能是使用AAD PowerShell根據您的Web API應用ID創建服務主體:

新建-天青AD服務主體

New-AzureADServicePrincipal -AccountEnabled $true -AppId $MyApp.AppId -DisplayName $App -Tags {WindowsAzureActiveDirectoryIntegratedApp}

一旦成功將服務主體置於所需的權限上,上述錯誤消息就會消失。

除了Shawn Tabrizi的答案外,您還可以將API指定為該應用程序已知客戶端應用程序。

因此,在您的應用清單中:

"knownClientApplications": [
  "your-api-client-id"
]

然后,如果您嘗試對應用進行身份驗證,它也可以同時同意該API。

暫無
暫無

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

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