我无法通过使用在不同域名下注册的电子邮件ID的应用程序对Azure API进行身份验证。它适用于我公司的电子邮件地址。
我在AD中注册该应用程序的步骤:
后面的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重新登录 目录用户帐户。
答案 0 :(得分:0)
在查看请求代码后,您似乎正在尝试使用azure active directory V1.0来对应用程序进行身份验证
要记住的点
如果您查看Microsoft official document,您会知道Azure AD V1.0不支持身份验证的个人帐户集成。请参见以下屏幕截图:
要使其可行,您可以使用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中并得到了不断增强。不建议用于生产版本。