【问题标题】:C# Azure AD and Anuglar Azure AD - one needs admin accountC# Azure AD 和 Angular Azure AD - 需要管理员帐户
【发布时间】:2020-02-19 19:10:19
【问题描述】:

我正在尝试创建一个 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 { }

【问题讨论】:

  • 您能否澄清一下您是如何托管您所称的前端和后端的:1- 单页应用程序(HTML、JS、CSS 等)是否由同一个 Web 应用程序提供服务作为 API(控制器)? 2- 您是同时使用一个应用注册,还是使用不同的应用注册?
  • 为此,全部在一台服务器下,一个应用注册
  • 可能您需要使用服务帐户服务主体进行登录。使用用户服务主体,您可以登录,但某些功能可能需要管理员访问权限。所以尝试使用服务帐户服务主体
  • 这是我在 azure AD 中设置的吗?

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


【解决方案1】:

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

如果是,请点击底部的“Grant admin consent for **”。

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

【讨论】:

  • 它不应该,因为这个场景在 ASP.NET 端完美运行(使用客户端客户端和租户)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-15
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
  • 2021-02-04
  • 2018-01-12
  • 1970-01-01
相关资源
最近更新 更多