我在Web app / API
部署Microsoft Azure
部署单租户模式。我需要让其他租户的用户能够使用我的API。
我发现这篇文章的分步指南启用了多租户身份验证, https://blog.mastykarz.nl/configuring-multi-tenant-authentication-azure-app-service-authentication-options/
但是当我尝试将Web API的Multitenanted
属性更改为“是”时,它会显示“无法更新App ID URI应用程序属性”,并显示以下错误详细信息:
{"errorCode":"HostNameNotOnVerifiedDomain","localizedErrorDetails":
{"errorDetail":"Host name in property identifierUris is not on any verified
domain of the company or its subdomain."},
"operationResults":null,"timeStampUtc":"2017-01-11T00:14:37.3270764Z",
"clientRequestId":"...","internalTransactionId":"...",
"upn":"...@gmail.com","tenantId":"...","userObjectId":"..."}
目前,App ID URI保存了我的Web API的地址(并且它按预期在单租户模式下工作)https://(..).azurewebsites.net
这对多租户模式不正确吗?
答案 0 :(得分:3)
没有。对于多租户应用,App ID URI必须位于AAD的域中。因此,如果我的AAD包含test.onmicrosoft.com和company.com等域名,那么允许的URI将是:
您不拥有azurewebsites.net域名,因此无法使用它。
答案 1 :(得分:1)
从管理门户中的App ID URI的帮助文本:
URI用作应用的唯一逻辑标识符。 URI 必须位于经过验证的自定义域中,外部用户才能授予您的应用访问Microsoft Azure AD中的数据的权限
话虽如此,由于App ID URI没有任何功能含义,您仍然可以通过将App ID URI设置为以下内容来进行测试:
http://<localhost_or_whatever>.<tenantName>.onmicrosoft.com
但请保留您的回复网址,因为它们指向您的.azurewebsite.net URI。
这可让您继续将应用配置为多租户,并使用您想要的任何网站进行测试。
注意:我从非常相似的问题重复我的回答:从我对类似问题的回答: Azure AD Error after editing manifest to enable availableToOtherTenants