0

我收到错误消息:“AADSTS65001:用户或管理员未同意使用 ID 的应用程序......。

我们在 azure 上有 2 个应用注册,比如说应用 A 和应用 B。我试图从 A 获取一些数据到 B。

在 azure 门户中,我已经配置了权限,因此 B 应用程序可以访问应用程序 A,并且它的状态已授予。

我正在使用 msal-angular 库对用户进行身份验证并实现这一目标。这是我的配置:

export const protectedResourceMap:[string, string[]][]=[ ['https://graph.microsoft.com/v1.0/me', ['user.read']], ['endpoint of app A',['scope from the app A']] ];

MsalModule.forRoot({
        clientID: 'ClientId Of App B',
        authority: "https://login.microsoftonline.com/common/",
        validateAuthority: true,
        redirectUri: "http://localhost:4200/",
        cacheLocation : "localStorage",
        storeAuthStateInCookie: isIE, // set to true for IE 11
        postLogoutRedirectUri: "http://localhost:4200/",
        navigateToLoginRequestUrl: true,
        popUp: !isIE,
        consentScopes: [ "user.read", "openid", "profile", "scope from the app A"],
        unprotectedResources: ["https://www.microsoft.com/en-us/"],
        protectedResourceMap: protectedResourceMap,
        logger: loggerCallback,
        correlationId: '1234',
        piiLoggingEnabled: true
      }
    )

所以第一件事就是登录app B,认证成功,收到token并存入本地存储。第二件事是向应用程序 A 发出 http 请求以获取一些数据。调用http时会弹出错误。

请帮忙!

4

1 回答 1

0

我个人只是遇到了这个问题(但使用了 .Net Web 应用程序)。您使用“通用”端点,所以我猜它是一个多租户应用程序注册。在我使用版本 2 端点权限之前,我无法使我的应用程序工作,即将“/v2.0”添加到权限字段:

于 2020-01-10T15:20:36.247 回答