angular - MsalUiRequiredException 错误代码:user_null 角度 11
问题描述
我正在构建一个 Angular 11 的 SPA 应用程序。该应用程序应连接到 Azure 安全 Web api 以获取数据。
当我连接到 web api 时,我收到了这个错误
“Microsoft.Identity.Web.MicrosoftIdentityWebChallengeUserException:IDW10502:由于用户的质询而引发了 MsalUiRequiredException。请参阅https://aka.ms/ms-id-web/ca_incremental-consent。---> MSAL.NetCore。 4.29.0.0.MsalUiRequiredException:错误代码:user_null
我可以从另一个 ASP.net Web 应用程序连接到我的 Web api,但不能从我的 Angular 应用程序连接到我的 Web api。我认为问题在于 Angular 和 web api 中的天蓝色配置不同,并且我的 Angular 应用程序生成的令牌与 api 所例外的令牌不同。
有什么建议可以解决这个问题吗?
这是我的角天蓝色配置
export const environment = {
apiURL:'https://localhost:44382',
clientId: 'my-client-id',
authority: 'https://login.microsoftonline.com/tenant-id',
redirectUri: 'authorize/signin',
scopes: ['User.Read']
};
应用组件
import { Component } from '@angular/core';
import { MsalProvider, Providers } from '@microsoft/mgt';
import { environment } from 'src/environments/environment';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
ngOnInit(){
Providers.globalProvider = new MsalProvider({
clientId: environment.clientId,
authority: environment.authority,
redirectUri: environment.redirectUri,
scopes: environment.scopes,
});
Providers.globalProvider.getAccessToken().then(accessToken=>{console.log(accessToken);});
}
}
这是我在 web api 中的 Azure 配置
"AzureAd": {
"ClientId": "my-client-id",
"Scopes": [ "User.Read" ],
"ClientSecret": "client-secret",
"Instance": "https://login.microsoftonline.com/",
"TenantId": "tenant-id"
}
谢谢
解决方案
推荐阅读
- laravel - 由于 SQL 的驱动程序错误,在 Laravel 中使用迁移时遇到问题
- python - pandas 在 groupby sum 之后对每个组内的值进行排序,并在使用 cumsum 后获取值的百分比
- android - 单击按钮并在自定义对话框下方显示白色背景时,自定义警报对话框不会被关闭
- python - 将字典存储在唯一值列中具有重复条目的数据框中
- amazon-web-services - 如何在 AWS 中获取自定义私有 DNS
- scala - 从kafka主题获取最后插入的消息
- c# - GetUtcOffset 返回某些年份/日期的错误偏移量
- python - How to plot a pie chart in matplotlib with 3 columns?
- plsql - ORA-06502: PL/SQL: 将同一列批量收集到自己声明的类型时出现数字或值错误
- web-crawler - 将发现的 url 循环回获取它们的正确方法是什么?