我在Azure中有一个具有本机客户端应用程序的Active Directory对象。 该应用程序具有Service Management API可访问的所有必要权限。
在AD目录中,我添加了2个用户。一个是我在创建目录对象时登录的帐户。创建目录时会自动添加此帐户。另一个是我在创建目录对象后手动添加的。
因此,在下面的示例中,帐户2是我在创建目录时登录的帐户。帐户1我手动添加。
当我尝试使用帐户2凭据从oauth2端点检索访问令牌时,出现错误:
AADSTS50034: To sign into this application the account must be added to the REDACTED directory.
但是,该帐户显然已添加到目录中。 此外,当我使用帐户1的凭据时,我能够成功进行身份验证。 我在脚本中更改的唯一内容是用户名和密码。客户端ID和租户ID保持不变。
当我使用的帐户显然是目录的用户时,为什么我收到上述错误?
答案 0 :(得分:0)
我在另一个帖子中找到了答案。 如果我正确理解它,似乎只能通过Azure Active Directory中的帐户进行自动登录,而不是来自Microsoft帐户。
答案 1 :(得分:0)
您也可以使用account2登录。您需要在登录上下文中提供目录名作为输入。因此,请在App_Start中配置“Startup.Auth.cs”。
Account1在用户名中包含目录名称或自定义域名,Azure登录可以帮助您登录。但是,对于account2,您有Microsoft帐户目录,其中您的应用程序未注册。 因此,你得到了错误。
使用this链接获得更好的概念。此示例代码已使用Azure AD用户登录以及Microsoft帐户用户。