我们有一个用于对 API 进行身份验证的 Azure AD 应用程序。我们使用offline_access、openid、profile、User.Read等权限,并已授予管理员同意。这已经工作一年了,没有任何问题。本周,我们收到 4-5 个外部用户抱怨该错误:
需要管理员批准
应用程序需要访问组织中只有管理员才能授予的资源的权限。请先请求管理员授予此应用程序的权限,然后才能使用它。
它与来自特定组织的特定外部用户无关,来自同一组织的其他一些用户不会收到此错误。
此错误仅发生于新的外部用户,我们尚未收到现有外部用户的任何问题。
管理员在报告错误后再次授予管理员同意,但用户仍然收到相同的错误消息。
我遇到了其他几个有同样错误的问题。但由于配置自去年以来一直有效,我有点困惑。在此期间,我们有很多外部用户,没有任何问题。
我应该检查什么配置来解决这个问题?或者Azure AD默认设置有什么更新吗?
我正在使用 Angular Material mat-tab,它被设置为延迟加载选项卡内容。
由于默认情况下加载第一个选项卡,因此我将第二个选项卡设置为延迟加载。
我看到当我在标签之间反复导航时,第二个标签的内容每次都会新鲜加载。我有一个 Web API 调用来获取数据并显示在选项卡内容中。
所以我想避免每次选择选项卡时的 Web API 调用。我怎样才能做到这一点?
<mat-tab-group>
<!--Roles Tab-->
<mat-tab class="tabLabel" label="Roles">
<app-roles></app-roles>
</mat-tab>
<!--Admins Tab-->
<mat-tab class="tabLabel" label="Admins">
<!-- Lazy load below component -->
<ng-template matTabContent>
<app-admins></app-admins>
</ng-template>
</mat-tab>
</mat-tab-group>
Run Code Online (Sandbox Code Playgroud) 我将 SharePoint 中的用户列出到自定义数据库表中,以便在自定义应用程序中使用。将这些用户添加到自定义数据库时,我们需要来自 Azure Active Directory 的用户 ID(而不是来自 SharePoint 的用户 ID)。
因此,根据来自 SharePoint 的用户电子邮件,我在 Azure AD 中搜索用户并获取 ID。
对于某些用户,我看到图形用户对象中的邮件字段为空,但用户主体名称字段填充了电子邮件。对于其他用户,已填写“邮件”和“用户主体名称”。
用户的邮件字段为空的原因是什么?我应该依赖哪个字段作为电子邮件值?
谢谢你!