我们有一个使用Microsoft-graph API连接到OneDrive for Business的应用程序 . 该申请已在 apps.dev.microsoft.com
注册 .
现在我们要支持OneDrive for Business中文版 . 根据documentation,我们将 endpoints 更改为中文 21Vianet
endpoints . 但是,当Office 365中文用户尝试授权我们的应用程序时,他们会收到此错误:
AADSTS700016:在'userdomain.com'目录中找不到标识符为'xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx的应用程序 . 如果租户的管理员尚未安装应用程序或租户中的任何用户同意该应用程序,则会发生这种情况 . 您可能已将您的身份验证请求发送给错误的租户 .
似乎 apps.dev.microsoft.com
的申请注册对中国不起作用 . 我是否必须在其他地方注册我们的应用程序并获得另一个标识符?我在文档中找不到它 .
1 回答
您引用的文档已过期 . 您应该遵循Microsoft Graph站点中的Nation Cloud Deployments文档 .
您遇到的问题是国家 Cloud 部署不支持v2应用程序模型(这是
apps.dev.microsoft.com
生成的)和v2 endpoints :在您对中国用户进行身份验证之前,您需要使用v1 App Model注册新的App ID . 这是通过Azure Portal将您的应用程序注册为多租户应用程序来完成的 .
您还需要更改授权工作流以使用v1 endpoints . 对于全局 endpoints ,这是
https://login.microsoftonline.com/common/oauth2/authorize?{your settings
. 对于中文 endpoints ,您要使用https://login.chinacloudapi.cn/common/oauth2/authorize
.