3

让 AzureAD 应用程序使用清单中定义的 appRoles 进行身份验证。角色被分配给用户,它们作为声明包含在经过身份验证的用户的令牌中。当前租户的成员以及新添加的类型为“Microsoft 帐户”的来宾用户就是这种情况,用于授权来源。(应用程序的 signInAudience 在清单中设置为 AzureADandPersonalMicrosoftAccount。)

但是对于授权来源的“外部 Azure Active Directory”类型的现有来宾用户,appRole 不是通过令牌声明来的。是否值得尝试删除来宾用户帐户并尝试阅读它?无论来宾帐户的权限来源是“Microsoft 帐户”还是“外部 Azure Active Directory”,appRoles 的这个特定功能/行为是否相同?

或者想知道是否需要为“外部 Azure Active Directory”设置或调整一些额外/补充设置?

PS:目前使用的授权端点是https://login.microsoftonline.com/common,它只是验证它没有获取 appRole,它与“Microsoft Account”类型的访客帐户的 appRole 一起使用。但是应该改变吗..?

4

1 回答 1

4

是的,就是这样。基于怀疑尝试将权限更改为基于租户的https://login.microsoftonline.com/contoso.onmicrosoft.com并且它起作用了......是的,因为“外部 Azure Active Directory”类型的来宾用户当然会针对他们的租户进行身份验证如果使用https://login.microsoftonline.com/common,并获取他们的角色。因此,通过强制对注册为来宾用户(定义角色)的特定租户进行身份验证,角色被添加到声明中。当然,“Microsoft 帐户”类型的来宾用户没有自己的租户,因此无论如何都要针对租户进行身份验证......哈哈。今天早上才发现有效。第一次使用 AAD,但想想还是有道理的……谢谢!

于 2019-05-09T14:03:25.087 回答