首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何让MsalGuard使用我的客户端ID?

如何让MsalGuard使用我的客户端ID?
EN

Stack Overflow用户
提问于 2019-03-28 07:21:55
回答 1查看 490关注 0票数 0

我正在尝试将我的Angular应用程序设置为使用@azure/msal-angular。我已经像这样设置了MsalModule:

代码语言:javascript
运行
复制
import { NgModule } from "@angular/core";
import { MsalModule, MsalInterceptor } from "@azure/msal-angular";
import { HTTP_INTERCEPTORS } from "@angular/common/http";

console.log(`window populated: ${(window as any).APP_SETTINGS.aadAppClientId}`);
export const msalModuleForRoot = MsalModule.forRoot({
  clientID: (<any>window).APP_SETTINGS.aadAppClientId,
});

@NgModule({
  imports: [
    msalModuleForRoot,
  ],
  exports: [
    MsalModule
  ],
  providers: [
    {
      provide: HTTP_INTERCEPTORS,
      useClass: MsalInterceptor,
      multi: true
    },
  ],
})
export class AppMsalModule { }

此模块将导入到我的app.module.browser.ts中。控制台日志成功打印出我的客户端ID。

然后,在我的app.routing.ts中,我在需要身份验证的路由上添加了MsalGuard。

我看到的是:这些路由如预期的那样重定向到登录屏幕,但当你进行身份验证时,它会要求授予"myTrialApp“权限,而这不是我的应用程序的名称。

仔细查看调试器中的MsalGuard,我可以看到它使用的客户机Id是未定义的。我正在尝试理解我需要更改的内容,以确保登录页面使用了正确的客户端Id。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-30 01:51:30

由于AoT的原因,这无法正常工作。一个很好的解决办法是能够注入MsalConfig,但目前库中似乎不支持这一点。现在,我通过在编译时可用的environment.ts中定义我的clientId来解决这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55387967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档