Blazor 8 Web 应用程序在 Azure AD 重定向后进入无限循环并且无法登录

问题描述 投票:0回答:1

我正在使用 Blazor 8 WebApp 和 Azure AD OIDC 身份验证。一切都在本地工作,但在服务器上,身份验证后,我可以看到重定向无限发生,直到 cookie 大小变得太长,然后它说“我们无法让您登录。请重试”。

builder.Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
    .AddMicrosoftIdentityWebApp(builder.Configuration.GetSection("AzureAd"))
    .EnableTokenAcquisitionToCallDownstreamApi(initialScopes)
    .AddMicrosoftGraph(builder.Configuration.GetSection("MicrosoftGraph"))
    .AddInMemoryTokenCaches();

builder.Services.Configure<OpenIdConnectOptions>(
    OpenIdConnectDefaults.AuthenticationScheme,
    options =>
     {
       var clientId = builder.Configuration.GetValue<string>("AzureAd:ClientId");
       options.ResponseType = OpenIdConnectResponseType.Code;
       options.SaveTokens = true;
       options.Scope.Add("offline_access");
       options.Scope.Add($"api://{clientId}/access_as_user");
       options.ClientId = clientId;
     }

我可以看到重定向网址是正确的 https。

关于为什么 cookie 一旦设置,没有被拾取的任何想法,因为我怀疑这可能是问题所在。

我尝试过使用 ForwardedHeaders 中间件。

var forwardedHeaderOptions = new ForwardedHeadersOptions
{
  ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
};
forwardedHeaderOptions.KnownProxies.Clear();
forwardedHeaderOptions.KnownNetworks.Clear();
app.UseForwardedHeaders(forwardedHeaderOptions);
azure-active-directory blazor openid-connect
1个回答
0
投票

事实证明,我使用了错误的证书存储路径来查找证书。解决了这个问题,你瞧!

© www.soinside.com 2019 - 2024. All rights reserved.