C#Azure AD和Anuglar Azure AD-一个需要管理员帐户

时间:2019-10-23 13:55:33

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

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

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

enter image description here

enter image description here

我可以弹出登录屏幕(并带有正确的租户),但是当我尝试登录时,我需要管理员访问权限-我要求的作用域过多吗?

enter image description here

这是我的示例中的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 { }

1 个答案:

答案 0 :(得分:2)

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

enter image description here

如果是,请单击底部的“授予**的管理员许可”。

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

enter image description here

enter image description here