我实现这一点是为了使用WASM独立应用程序登录用户。
builder.Services.AddMsalAuthentication(options =>
{
builder.Configuration.Bind("AzureAd", options.ProviderOptions.Authentication);}
它非常有效。当我尝试添加图形的作用域和我的api时。它不允许登录。
builder.Services.AddMsalAuthentication(options =>
{
builder.Configuration.Bind("AzureAd", options.ProviderOptions.Authentication);
options.ProviderOptions.DefaultAccessTokenScopes.Add("https://graph.microsoft.com/User.Read");
options.ProviderOptions.DefaultAccessTokenScopes.Add("https://xsc.com/xxEmployees.Read.All");
)
错误显示AADSTS28000:为输入参数作用域提供的值无效,因为它包含多个资源。我该如何让它发挥作用
我看了AcquireTokenSilent,它使用Microsoft.Identity.Client是我唯一的选择。如果这是我的下一个问题,那就是如何获取经过身份验证的用户AuthenticationStateprovider,并为AcquireTokenSilent方法创建一个IAccount。如果有任何想法或其他尝试方法,我们将不胜感激。
Msal基于azure ad,因此根据azure ad的策略,您不能同时为两种或多种类型的作用域生成访问令牌。
这个页面也提到了,唯一的方法似乎是单独生成令牌并调用api两次。