我将对Azure AD进行身份验证。
我已经在module.app
中配置了我的应用
MsalModule.forRoot({
clientID: "ClientId",
authority: "https://login.microsoftonline.com/tenant.onmicrosoft.com/",
redirectUri: "http://localhost:4200/",
validateAuthority : true,
cacheLocation : "localStorage",
postLogoutRedirectUri: "http://localhost:4200/",
navigateToLoginRequestUrl : true,
popUp: true,
consentScopes: ["user.read", "api://??what_Id_Sould_I_Put???/access_as_user"],
unprotectedResources: ["https://angularjs.org/"],
correlationId: '1234',
piiLoggingEnabled: true,
}),
我的组件我使用loginPopup
方法进行连接:
this.authService.loginPopup(["user.read" ,"api://ClientId/access_as_user"]);
我收到此错误
AADSTS50001:在名为de5e3c28-141c-4d3e-90ea-aa3326abe67d(奇怪的ID)的租户中找不到名为api:// ClientId的应用程序。如果租户的管理员未安装该应用程序,或者该租户中的任何用户未同意该应用程序,则可能会发生这种情况。您可能已将身份验证请求发送给错误的租户。
在 ConsentScope 变量中使用的sample demo ID 与 Client ID 不同,我不知道什么是那个ID以及如何获取它?
答案 0 :(得分:1)
只需删除行
consentScopes: ["user.read", "api://??what_Id_Sould_I_Put???/access_as_user"],
从配置。 并更改行
this.authService.loginPopup(["user.read" ,"api://ClientId/access_as_user"]);
到
this.authService.loginPopup();