簡體   English   中英

Blazor WASM - 嘗試登錄時出錯:'this._settings.loginMode is undefined'

[英]Blazor WASM - There was an error trying to log you in: 'this._settings.loginMode is undefined'

我創建了一個帶有核心托管選項的新 dotnet 6 blazor wasm 應用程序。 Visual Studio 2022 (v17.3.1) 模板為此創建客戶端、服務器和共享項目。

我已更新服務器項目的 program.cs 以使用 Azure ADB2C,如下所示:

builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
    .AddMicrosoftIdentityWebApi(builder.Configuration.GetSection("AzureAdB2C"));

其 appsettings.json 包含以下內容:

“AzureAdB2C”:{“實例”:“https://mydomain.b2clogin.com/”,“ClientId”:“serverprojclientidhere”,“域”:“mydomain.onmicrosoft.com”,“范圍”:“access_as_user”, “SignUpSignInPolicyId”:“B2C_1_SignUpIn”}

在客戶端項目中,program.cs 包含以下內容:

builder.Services.AddMsalAuthentication(options =>
{
    builder.Configuration.Bind("AzureAdB2C", options.ProviderOptions.Authentication);
    options.ProviderOptions.DefaultAccessTokenScopes.Add("https://mydomain.onmicrosoft.com/api/Api.ReadWrite");
});

其 appsettings.json 包含以下內容:

"AzureAdB2C": {
    "Authority": "https://mydomain.b2clogin.com/mydomain.onmicrosoft.com/B2C_1_SignUpIn",
    "ClientId": "clientprojclientidhere",
    "ValidateAuthority": false
  }

當我在本地運行它時,它工作正常。 該網站加載並顯示主屏幕,如果我 select 是“安全”頁面,那么我將被重定向到 ADB2C。

我有一個 devops 管道,將解決方案部署到 Azure App Service (linux)。 如果我 go 到該站點,它會顯示希望頁面,但在導航到安全頁面時,我會收到以下錯誤消息:

嘗試登錄時出錯:'this._settings.loginMode is undefined'

我在瀏覽器的控制台 window 中沒有看到任何錯誤。

有任何想法嗎?

我設法從這篇文中找到了答案

解決方案是將以下內容添加到客戶端項目的 csproj 文件中:

  <ItemGroup>
    <TrimmerRootAssembly Include="Microsoft.Authentication.WebAssembly.Msal" />
  </ItemGroup>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM