问题描述
我正在编写一个 ASP.NET Core 3.1 Web 应用程序,它需要能够允许域用户以及已收到邀请 (Azure AD B2B) 的外部用户进行身份验证。
Azure AD 人员在 Azure AD 中设置了应用注册。由于应用需要能够发送邀请(除其他外),因此他们授予了以下 API 权限:
Directory.ReadWrite.All Type: Application
User.Invite.All Type: Application
User.ReadWrite.All Type: Application
我可以使用我的域帐户进行身份验证(我不是 Azure AD 管理员),并且我可以向外部电子邮件地址(我的 Comcast 地址)发送邀请。我收到了邀请,并设置了密码。
但是,当我尝试使用该外部电子邮件地址进行身份验证时,我收到“需要管理员批准”“AppName 需要访问您组织中资源的权限,只有管理员才能授予。”
当 Azure AD 管理员查看 API 权限时,它在每个旁边的状态下显示“已授予 [[域]]”。
那么为什么会出现这条消息呢?这是否意味着管理员必须在用户每次登录时授予访问权限?为每个用户授予访问权限?文档中(对我而言)关于此“授权”何时发生,以及它是全面的、用户的还是非管理员用户每次登录时都模棱两可。
我了解,从我所读到的内容来看,这是因为我们授予的权限“更高” - 但可以这样做并且仍然让外部用户进行身份验证吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)