.NET 6 Docker容器部署Azure Web App遭令牌解析403错误求助
.NET 6容器部署Azure Web App时OIDC令牌解析失败问题
- 本地运行容器无异常,但部署到Azure Linux Web App容器服务时,出现身份认证令牌获取失败的问题
- 同一应用以原生方式(直接上传代码压缩包)部署到Azure Linux Web App可正常运行,仅部署方式(Docker容器 vs 原生)和目标Web App类型(容器型 vs 普通Linux型)不同,目前除依赖库版本差异外,不清楚问题根因
报错信息
Failed to parse token response body as JSON. Status Code: 403. Content-Type: text/html IDX21106: Error in deserializing to json: 'System.String'
An error was encountered while handling the remote login. Failed to parse token response body as JSON. Status Code: 403. Content-Type: text/html IDX21106: Error in deserializing to json: 'System.String'
使用的Dockerfile
FROM mcr.microsoft.com/dotnet/aspnet:6.0 RUN echo "deb http://deb.debian.org/debian bookworm contrib non-free non-free-firmware" > /etc/apt/sources.list.d/contrib.list RUN apt-get clean all && \ apt update && \ apt install -y wget libgdiplus ttf-mscorefonts-installer fontconfig fonts-liberation && \ fc-cache -fv && \ rm -rf /var/lib/apt/lists/* WORKDIR /app COPY output/ . ENV ASPNETCORE_FORWARDEDHEADERS_ENABLED=true CMD ["dotnet", "API.dll"]
Application Insights中的异常信息
异常1
Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectProtocolException: at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler+<RedeemAuthorizationCodeAsync>d__22.MoveNext (Microsoft.AspNetCore.Authentication.OpenIdConnect, Version=6.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60) at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler+<HandleRemoteAuthenticateAsync>d__19.MoveNext (Microsoft.AspNetCore.Authentication.OpenIdConnect, Version=6.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60) Inner exception System.ArgumentException handled at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler+<RedeemAuthorizationCodeAsync>d__22.MoveNext: at Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage..ctor (Microsoft.IdentityModel.Protocols.OpenIdConnect, Version=6.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35) at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler+<RedeemAuthorizationCodeAsync>d__22.MoveNext (Microsoft.AspNetCore.Authentication.OpenIdConnect, Version=6.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60)
异常2
System.Exception: at Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1+<HandleRequestAsync>d__11.MoveNext (Microsoft.AspNetCore.Authentication, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60) at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware+<Invoke>d__6.MoveNext (Microsoft.AspNetCore.Authentication, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60) at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+<ProcessRequests>d__226`1.MoveNext (Microsoft.AspNetCore.Server.Kestrel.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60) Inner exception Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectProtocolException handled at Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1+<HandleRequestAsync>d__11.MoveNext: at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler+<RedeemAuthorizationCodeAsync>d__22.MoveNext (Microsoft.AspNetCore.Authentication.OpenIdConnect, Version=6.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60) at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler+<HandleRemoteAuthenticateAsync>d__19.MoveNext (Microsoft.AspNetCore.Authentication.OpenIdConnect, Version=6.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60) Inner exception System.ArgumentException handled at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler+<RedeemAuthorizationCodeAsync>d__22.MoveNext: at Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage..ctor (Microsoft.IdentityModel.Protocols.OpenIdConnect, Version=6.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35) at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler+<RedeemAuthorizationCodeAsync>d__22.MoveNext (Microsoft.AspNetCore.Authentication.OpenIdConnect, Version=6.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60)
Application Insights异常截图

内容的提问来源于stack exchange,提问作者Kevvv
相关产品推荐
相关产品推荐

