相关疑难解决方法(0)

Kubernetes 中的 Azure AD 身份验证无法取消对消息的保护。状态

我有一个使用 AzureAD b2c 身份验证(通过 OpenId Connect)的 dotnet core mvc Web 应用程序。当我针对 localhost 运行它时,它可以正常工作,但是当我将解决方案部署到 Kubernetes 并尝试登录时,我收到以下错误:

Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1]
      An unhandled exception has occurred while executing the request.
System.Exception: An error was encountered while handling the remote login.
 ---> System.Exception: Unable to unprotect the message.State.
   --- End of inner exception stack trace ---
   at Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1.HandleRequestAsync()
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)'
Run Code Online (Sandbox Code Playgroud)

我已经设置了一个带有 SSL 的 NGINX 入口,它将流量转发到 Kubernetes 中的服务,因此它充当集群内的反向代理。

为了确保保留请求的原始主机名,我已将以下内容添加到startup.cs:

services.Configure<ForwardedHeadersOptions>(options =>
            {
                options.ForwardedHeaders =
                    ForwardedHeaders.XForwardedProto | ForwardedHeaders.XForwardedHost;
                options.KnownNetworks.Clear();
                options.KnownProxies.Clear(); …
Run Code Online (Sandbox Code Playgroud)

c# oauth kubernetes azure-ad-b2c

6
推荐指数
1
解决办法
3278
查看次数

标签 统计

azure-ad-b2c ×1

c# ×1

kubernetes ×1

oauth ×1