首页 > 解决方案 > C# Azure AD 和 Anuglar Azure AD - 需要管理员帐户

问题描述

我正在尝试创建一个 PoC 应用程序集,带有 Angular(其他或变体前端)的 WebApi,使用 Azure AD 对我的联合用户进行身份验证。

我的后端工作正常,身份验证/MFA 按预期工作,并显示登录提示。

在此处输入图像描述

在此处输入图像描述

我可以弹出登录屏幕(并使用正确的租户),但是当我尝试登录时,我需要管理员访问权限 - 我请求的范围是否过多?

在此处输入图像描述

这是我app.module.ts的示例代码,其中

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';
import { LoginComponent } from './partials/login/login.component';
import { MsalModule, MsalInterceptor } from '@azure/msal-angular';
import { HTTP_INTERCEPTORS } from '@angular/common/http';
import { AppRoutingModule } from './app-routing.module';

@NgModule({
  declarations: [
    AppComponent,
    LoginComponent
  ],
  imports: [
    MsalModule.forRoot({
      clientID: "my-client-id",
      authority: "https://login.microsoftonline.com/my-tenant-id",
      redirectUri: "http://localhost:4200/",
      validateAuthority : false,
      cacheLocation : "sessionStorage",
      storeAuthStateInCookie: false, // dynamically set to true when IE11
      postLogoutRedirectUri: "http://localhost:4200/",
      navigateToLoginRequestUrl : true,
      popUp: false,
    }),
    BrowserModule,
    AppRoutingModule,
  ],
  providers: [{
    provide: HTTP_INTERCEPTORS,
    useClass: MsalInterceptor,
    multi: true
  }
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

标签: azureazure-active-directory.net-core-authorization

解决方案


请检查您的 Azure AD 应用程序是否有任何权限需要 Azure 门户上的管理员同意:

在此处输入图像描述

如果是,请点击底部的“授予 ** 管理员同意”。

如果不是,请转到管理中心 > Azure AD > 用户 > 用户设置 > 企业应用程序 - 用户设置,然后确保启用“用户可以同意应用程序代表他们访问公司数据”。

在此处输入图像描述

在此处输入图像描述


推荐阅读