无法使用其他租户对Azure api进行身份验证

时间:2019-04-12 01:30:47

标签: azure azure-active-directory azure-authentication

我无法通过使用在不同域名下注册的电子邮件ID的应用程序对Azure API进行身份验证。它适用于我公司的电子邮件地址。

我在AD中注册该应用程序的步骤

  1. 在Azure Active Directory中注册应用。
  2. 设置权限请求以允许客户端访问 Azure资源管理器API
  3. 还启用了多租户选项。

后面的URL Azure Authentication

授权URL:

/common/oauth2/authorize?
client_id=XXXXXXXXXXXXXXXXXXXXX
&response_type=code
&redirect_uri=calBackURL
&response_mode=query
&resource=https%3a%2f%2fmanagement.azure.com
&state=12345&prompt=consent

Token URL: 
/common/oauth2/token?
grant_type=authorization_code
&client_id=xxxxxxxxxx
&code={Code}
&redirect_uri={calBackURL}
&client_secret=xxxxxxxxxx

错误消息:

  

AADSTS50020:身份提供商的用户帐户“ xxxxxx@hotmail.com”   租户“ xxxx”中不存在“ live.com”,并且无法访问   应用程序“ xxxx xxxx xxxx xxxx xxxx”(Azure Demo Builder开发)在其中   承租人。该帐户需要作为外部用户添加到   租户优先。注销并使用其他Azure Active重新登录   目录用户帐户。

1 个答案:

答案 0 :(得分:0)

在查看请求代码后,您似乎正在尝试使用azure active directory V1.0来对应用程序进行身份验证

要记住的点

如果您查看Microsoft official document,您会知道Azure AD V1.0不支持身份验证的个人帐户集成。请参见以下屏幕截图:

enter image description here

要使其可行,您可以使用Azure Active Directory V2.0,或者您也必须更改您的个人电子邮件。

对于V2.0令牌请​​求端点,您可以点击以下URL

https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?

您在请求中使用的code grant flow可以通过查看here

为V2.0准备。
  

注意:v2.0端点和平台已在preview中并得到了不断增强。不建议用于生产版本。