具有用于清单中定义的appRoles的身份验证的AzureAD应用程序。将角色分配给用户,并将其作为声明包含在经过身份验证的用户的令牌中。对于当前租户的成员以及作为权限源的“ Microsoft帐户”类型的新添加的来宾用户就是这种情况。 (应用程序的signInAudience在清单中设置为AzureADandPersonalMicrosoftAccount。)
但是对于授权源类型为“外部Azure Active Directory”类型的现有来宾用户,appRole不会通过令牌声明。是否值得尝试删除来宾用户帐户并尝试读取它?无论访客帐户的授权源是“ Microsoft帐户”还是“外部Azure Active Directory”,appRoles的特定功能/行为都不会相同吗?
或者想知道是否需要为“外部Azure Active Directory”设置或调整一些其他/补充设置?
PS:当前使用的授权端点为https://login.microsoftonline.com/common,它对未获得appRole的身份进行身份验证,并且与“ Microsoft帐户”类型的来宾帐户的appRole一起使用。但是应该更改吗??
答案 0 :(得分:2)
是的。基于怀疑,尝试将权限更改为基于租户的https://login.microsoftonline.com/contoso.onmicrosoft.com,它的工作原理是……是的,因为如果使用https://login.microsoftonline.com/common,类型为“外部Azure Active Directory”的来宾用户当然会针对其租户进行身份验证,并获得他们的角色。因此,通过强制针对特定租户进行身份验证,在这些特定租户中将其注册为来宾用户(定义了角色),从而将角色添加到声明中。当然,“ Microsoft帐户”类型的来宾用户没有自己的租户,因此无论如何都要针对租户进行身份验证...哈哈。刚刚发现今天早上工作。第一次使用AAD,但是考虑一下时,这很有道理。。。