我收到错误消息:“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时会弹出错误。
请帮忙!