Blazor 应用程序在本地与 AAD 身份验证配合使用,当部署到 Azure App Service 时,在重定向 URL 上进行身份验证后出现错误

Blazor 应用程序在本地与 AAD 身份验证配合使用,当部署到 Azure App Service 时,在重定向 URL 上进行身份验证后出现错误

我有一个服务器端 Blazor 应用程序 (Dotnet Core 3.1.2),正在将其部署到 Azure App Services。该应用程序根据我们的 Azure AD 对用户进行身份验证。在我的计算机上本地运行一切正常。

当部署到 Azure App Services 时,该应用程序可以进行身份​​验证,但在调用 /signin-oidc URL 时出现错误:

由于发生内部服务器错误,无法显示该页面。

这当然没有任何帮助,但是在流日志中我收到了此错误:

2020-04-21T15:14:17 sandboxproc.exe C:\DWASFiles\Sites\REDACTED-SITE-NAME\Temp\applicationhost.config True True
2020-04-21T15:14:17 env XPROC_TYPENAME=Microsoft.Web.Hosting.Transformers.ApplicationHost.SiteExtensionHelper, Microsoft.Web.Hosting, Version=7.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
2020-04-21T15:14:17 env XPROC_METHODNAME=Transform
2020-04-21T15:14:17 Start 'AspNetCoreRuntime.3.1.x86' site extension transform
2020-04-21T15:14:17 StartSection Executing InsertIfMissing (transform line 7, 23)
2020-04-21T15:14:17 on /configuration/system.webServer
2020-04-21T15:14:17 Applying to 'configuration' element (no source line info)
2020-04-21T15:14:17 EndSection Done executing InsertIfMissing
2020-04-21T15:14:17 StartSection Executing InsertIfMissing (transform line 8, 16)
2020-04-21T15:14:17 on /configuration/system.webServer/runtime
2020-04-21T15:14:17 Applying to 'system.webServer' element (no source line info)
2020-04-21T15:14:17 Inserted 'runtime' element
2020-04-21T15:14:17 EndSection Done executing InsertIfMissing
2020-04-21T15:14:17 StartSection Executing InsertIfMissing (transform line 9, 31)
2020-04-21T15:14:17 on /configuration/system.webServer/runtime/environmentVariables
2020-04-21T15:14:17 Applying to 'runtime' element (no source line info)
2020-04-21T15:14:17 EndSection Done executing InsertIfMissing
2020-04-21T15:14:17 StartSection Executing InsertIfMissing (transform line 10, 146)
2020-04-21T15:14:17 on /configuration/system.webServer/runtime/environmentVariables/add[@name='PATH']
2020-04-21T15:14:17 Applying to 'environmentVariables' element (no source line info)
2020-04-21T15:14:17 EndSection Done executing InsertIfMissing
2020-04-21T15:14:17 StartSection Executing InsertIfMissing (transform line 11, 93)
2020-04-21T15:14:17 on /configuration/system.webServer/runtime/environmentVariables/add[@name='DOTNET_SKIP_FIRST_TIME_EXPERIENCE']
2020-04-21T15:14:17 Applying to 'environmentVariables' element (no source line info)
2020-04-21T15:14:17 EndSection Done executing InsertIfMissing
2020-04-21T15:14:17 StartSection Executing InsertIfMissing (transform line 12, 118)
2020-04-21T15:14:17 on /configuration/system.webServer/runtime/environmentVariables/add[@name='DOTNET_ROOT']
2020-04-21T15:14:17 Applying to 'environmentVariables' element (no source line info)
2020-04-21T15:14:17 EndSection Done executing InsertIfMissing
2020-04-21T15:14:17 StartSection Executing Replace (transform line 17, 145)
2020-04-21T15:14:17 on /configuration/system.webServer/globalModules/add[@name='AspNetCoreModuleV2']
2020-04-21T15:14:17 Applying to 'add' element (no source line info)
2020-04-21T15:14:17 Replaced 'add' element
2020-04-21T15:14:17 EndSection Done executing Replace
2020-04-21T15:14:17 StartSection Executing InsertIfMissing (transform line 24, 84)
2020-04-21T15:14:17 on /configuration/location/system.webServer/modules/add[@name='AspNetCoreModuleV2']
2020-04-21T15:14:17 Applying to 'modules' element (no source line info)
2020-04-21T15:14:17 EndSection Done executing InsertIfMissing
2020-04-21T15:14:17 Successful 'D:\home\SiteExtensions\AspNetCoreRuntime.3.1.x86\applicationHost.xdt' site extension transform
2020-04-21T15:14:17 Start 'Microsoft.AspNetCore.AzureAppServices.SiteExtension' site extension transform
2020-04-21T15:14:17 StartSection Executing InsertIfMissing (transform line 7, 23)
2020-04-21T15:14:17 on /configuration/system.webServer
2020-04-21T15:14:17 Applying to 'configuration' element (no source line info)
2020-04-21T15:14:17 EndSection Done executing InsertIfMissing
2020-04-21T15:14:17 StartSection Executing InsertIfMissing (transform line 8, 16)
2020-04-21T15:14:17 on /configuration/system.webServer/runtime
2020-04-21T15:14:17 Applying to 'system.webServer' element (no source line info)
2020-04-21T15:14:17 EndSection Done executing InsertIfMissing
2020-04-21T15:14:17 StartSection Executing InsertIfMissing (transform line 9, 31)
2020-04-21T15:14:17 on /configuration/system.webServer/runtime/environmentVariables
2020-04-21T15:14:17 Applying to 'runtime' element (no source line info)
2020-04-21T15:14:17 EndSection Done executing InsertIfMissing
2020-04-21T15:14:17 StartSection Executing InsertOrAppendAttribute (transform line 10, 406)
2020-04-21T15:14:17 on /configuration/system.webServer/runtime/environmentVariables/add[@name='DOTNET_ADDITIONAL_DEPS']
2020-04-21T15:14:17 Applying to 'environmentVariables' element (no source line info)
2020-04-21T15:14:17 EndSection Done executing InsertOrAppendAttribute
2020-04-21T15:14:17 StartSection Executing InsertOrAppendAttribute (transform line 11, 158)
2020-04-21T15:14:17 on /configuration/system.webServer/runtime/environmentVariables/add[@name='DOTNET_SHARED_STORE']
2020-04-21T15:14:17 Applying to 'environmentVariables' element (no source line info)
2020-04-21T15:14:17 EndSection Done executing InsertOrAppendAttribute
2020-04-21T15:14:17 StartSection Executing InsertOrAppendAttribute (transform line 12, 146)
2020-04-21T15:14:17 on /configuration/system.webServer/runtime/environmentVariables/add[@name='ASPNETCORE_HOSTINGSTARTUPASSEMBLIES']
2020-04-21T15:14:17 Applying to 'environmentVariables' element (no source line info)
2020-04-21T15:14:17 EndSection Done executing InsertOrAppendAttribute
2020-04-21T15:14:17 Successful 'D:\home\SiteExtensions\Microsoft.AspNetCore.AzureAppServices.SiteExtension\applicationHost.xdt' site extension transform
2020-04-21T15:14:17 sandboxproc.exe complete successfully. Elapsed = 769.00 ms
2020-04-21T15:14:18  PID[25296] Information Loading modules from D:\Program Files (x86)\MiddlewareModules\1.2.7\Microsoft.Azure.AppService.Middleware.Modules.dll
2020-04-21T15:14:19  PID[25296] Verbose     Detected application setting 'WEBSITE_AUTH_LOGOUT_PATH' = '/.auth/logout'
2020-04-21T15:14:19  PID[25296] Verbose     Detected application setting 'WEBSITE_AUTH_TOKEN_STORE' = 'True'
2020-04-21T15:14:19  PID[25296] Verbose     Detected application setting 'WEBSITE_AUTH_ENABLED' = 'True'
2020-04-21T15:14:19  PID[25296] Verbose     Detected application setting 'WEBSITE_AUTH_UNAUTHENTICATED_ACTION' = 'RedirectToLoginPage'
2020-04-21T15:14:19  PID[25296] Warning     Error reading value from environment variable WEBSITE_AUTH_COOKIE_EXPIRATION_MODE. 0 value used for cookie expiration setting instead.
2020-04-21T15:14:19  PID[25296] Verbose     Detected application setting 'WEBSITE_AUTH_DEFAULT_PROVIDER' = 'AzureActiveDirectory'
2020-04-21T15:14:19  PID[25296] Verbose     Detected application setting 'WEBSITE_AUTH_OPENID_ISSUER' = 'https://sts.windows.net/REDACTED/v2.0'
2020-04-21T15:14:19  PID[25296] Verbose     Detected application setting 'WEBSITE_AUTH_CLIENT_ID' = 'REDACTED'
2020-04-21T15:14:19  PID[25296] Verbose     Detected application setting 'WEBSITE_AUTH_LOGOUT_PATH' = '/.auth/logout'
2020-04-21T15:14:19  PID[25296] Verbose     Detected application setting 'WEBSITE_AUTH_TOKEN_STORE' = 'True'
2020-04-21T15:14:19  PID[25296] Verbose     Detected application setting 'WEBSITE_AUTH_ENABLED' = 'True'
2020-04-21T15:14:19  PID[25296] Verbose     Detected application setting 'WEBSITE_AUTH_UNAUTHENTICATED_ACTION' = 'RedirectToLoginPage'
2020-04-21T15:14:19  PID[25296] Warning     Error reading value from environment variable WEBSITE_AUTH_COOKIE_EXPIRATION_MODE. 0 value used for cookie expiration setting instead.
2020-04-21T15:14:19  PID[25296] Verbose     Detected application setting 'WEBSITE_AUTH_DEFAULT_PROVIDER' = 'AzureActiveDirectory'
2020-04-21T15:14:19  PID[25296] Verbose     Detected application setting 'WEBSITE_AUTH_OPENID_ISSUER' = 'https://sts.windows.net/REDACTED/v2.0'
2020-04-21T15:14:19  PID[25296] Verbose     Detected application setting 'WEBSITE_AUTH_CLIENT_ID' = 'REDACTED'
2020-04-21T15:14:19  PID[25296] Verbose     Detected application setting 'WEBSITE_AUTH_SIGNING_KEY' = 'B7****'
2020-04-21T15:14:19  PID[25296] Verbose     Detected application setting 'WEBSITE_AUTH_ENCRYPTION_KEY' = '66****'
2020-04-21T15:14:19  PID[25296] Verbose     Received request: GET https://REDACTED-SITE-NAME.azurewebsites.net/
2020-04-21T15:14:19  PID[25296] Verbose     Found 'AppServiceAuthSession' cookie for site 'REDACTED-SITE-NAME.azurewebsites.net'. Length: 984.
2020-04-21T15:14:20  PID[25296] Verbose     Authenticated REDACTED-EMAIL successfully using 'Session Cookie' authentication.
2020-04-21T15:14:20  PID[25296] Verbose     [Routes(Preview)] No authorization configuration was found.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>IIS Detailed Error - 500.79 - Internal Server Error</title>
<style type="text/css"><!--body{margin:0;font-size:.7em;font-family:Verdana,Arial,Helvetica,sans-serif;}code{margin:0;color:#006600;font-size:1.1em;font-weight:bold;}.config_source code{font-size:.8em;color:#000000;}pre{margin:0;font-size:1.4em;word-wrap:break-word;}ul,ol{margin:10px 0 10px 5px;}ul.first,ol.first{margin-top:5px;}fieldset{padding:0 15px 10px 15px;word-break:break-all;}.summary-container fieldset{padding-bottom:5px;margin-top:4px;}legend.no-expand-all{padding:2px 15px 4px 10px;margin:0 0 0 -12px;}legend{color:#333333;;margin:4px 0 8px -12px;_margin-top:0px;font-weight:bold;font-size:1em;}a:link,a:visited{color:#007EFF;font-weight:bold;}a:hover{text-decoration:none;}h1{font-size:2.4em;margin:0;color:#FFF;}h2{font-size:1.7em;margin:0;color:#CC0000;}h3{font-size:1.4em;margin:10px 0 0 0;color:#CC0000;}h4{font-size:1.2em;margin:10px 0 5px 0;}#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS",Verdana,sans-serif;color:#FFF;background-color:#5C87B2;}#content{margin:0 0 0 2%;position:relative;}.summary-container,.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}.content-container p{margin:0 0 10px 0;}#details-left{width:35%;float:left;margin-right:2%;}#details-right{width:63%;float:left;overflow:hidden;}#server_version{width:96%;_height:1px;min-height:1px;margin:0 0 5px 0;padding:11px 2% 8px 2%;color:#FFFFFF;background-color:#5A7FA5;border-bottom:1px solid #C1CFDD;border-top:1px solid #4A6C8E;font-weight:normal;font-size:1em;color:#FFF;text-align:right;}#server_version p{margin:5px 0;}table{margin:4px 0 4px 0;width:100%;border:none;}td,th{vertical-align:top;padding:3px 0;text-align:left;font-weight:normal;border:none;}th{width:30%;text-align:right;padding-right:2%;font-weight:bold;}thead th{background-color:#ebebeb;width:25%;}#details-right th{width:20%;}table tr.alt td,table tr.alt th{}.highlight-code{color:#CC0000;font-weight:bold;font-style:italic;}.clear{clear:both;}.preferred{padding:0 5px 2px 5px;font-weight:normal;background:#006633;color:#FFF;font-size:.8em;}--></style>
</head><body><div id="content"><div class="content-container"><h3>HTTP Error 500.79 - Internal Server Error</h3><h4>The page cannot be displayed because an internal server error has occurred.</h4></div><div class="content-container"><fieldset><h4>Most likely causes:</h4><ul>     <li>IIS received the request; however, an internal error occurred during the processing of the request. The root cause of this error depends on which module handles the request and what was happening in the worker process when this error occurred.</li>    <li>IIS was not able to access the web.config file for the Web site or application. This can occur if the NTFS permissions are set incorrectly.</li>    <li>IIS was not able to process configuration for the Web site or application.</li>     <li>The authenticated user does not have permission to use this DLL.</li>   <li>The request is mapped to a managed handler but the .NET Extensibility Feature is not installed.</li> </ul></fieldset></div><div class="content-container"><fieldset><h4>Things you can try:</h4><ul>    <li>Ensure that the NTFS permissions for the web.config file are correct and allow access to the Web server's machine account.</li>     <li>Check the event logs to see if any additional information was logged.</li>  <li>Verify the permissions for the DLL.</li>    <li>Install the .NET Extensibility feature if the request is mapped to a managed handler.</li>  <li>Create a tracing rule to track failed requests for this HTTP status code. For more information about creating a tracing rule for failed requests, click <a href="http://go.microsoft.com/fwlink/?LinkID=66439">here</a>. </li> </ul></fieldset></div>
<div class="content-container"><fieldset><h4>Detailed Error Information:</h4><div id="details-left"><table border="0" cellpadding="0" cellspacing="0"><tr class="alt"><th>Module</th><td>&nbsp;&nbsp;&nbsp;EasyAuthModule_32bit</td></tr><tr><th>Notification</th><td>&nbsp;&nbsp;&nbsp;AuthenticateRequest</td></tr><tr class="alt"><th>Handler</th><td>&nbsp;&nbsp;&nbsp;aspNetCore</td></tr><tr><th>Error Code</th><td>&nbsp;&nbsp;&nbsp;0x80004005</td></tr>
</table></div><div id="details-right"><table border="0" cellpadding="0" cellspacing="0"><tr class="alt"><th>Requested URL</th><td>&nbsp;&nbsp;&nbsp;https://REDACTED-SITE-NAME:80/signin-oidc</td></tr><tr><th>Physical Path</th><td>&nbsp;&nbsp;&nbsp;D:\home\site\wwwroot\signin-oidc</td></tr><tr class="alt"><th>Logon Method</th><td>&nbsp;&nbsp;&nbsp;Not yet determined</td></tr><tr><th>Logon User</th><td>&nbsp;&nbsp;&nbsp;Not yet determined</td></tr>
</table><div class="clear"></div></div></fieldset></div>
<div class="content-container"><fieldset><h4>More Information:</h4>This error means that there was a problem while processing the request. The request was received by the Web server, but during processing a fatal error occurred, causing the 500 error.<p><a href="http://go.microsoft.com/fwlink/?LinkID=62293&amp;IIS70Error=500,79,0x80004005,14393">View more information &raquo;</a></p><p>Microsoft Knowledge Base Articles:</p>

</fieldset></div></div></body></html>
2020-04-21T15:14:26  PID[25296] Verbose     Received request: POST https://REDACTED-SITE-NAME.azurewebsites.net/signin-oidc
2020-04-21T15:14:26  PID[25296] Verbose     Found 'AppServiceAuthSession' cookie for site 'REDACTED-SITE-NAME.azurewebsites.net'. Length: 984.
2020-04-21T15:14:26  PID[25296] Critical    System.NullReferenceException: Object reference not set to an instance of an object.at Microsoft.Azure.AppService.Middleware.EasyAuthModule.IsCrossSiteRequestForgery(HttpRequestBase request, String& invalidReferer)
at Microsoft.Azure.AppService.Middleware.EasyAuthModule.<AuthenticateAsync>d__42.MoveNext()--- End of stack trace from previous location where exception was thrown ---at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)at Microsoft.Azure.AppService.Middleware.EasyAuthModule.<OnAuthenticateRequestAsync>d__24.MoveNext()--- End of stack trace from previous location where exception was thrown ---at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)at Microsoft.Azure.AppService.Middleware.HttpModuleDispatcher.<DispatchAsync>d__11.MoveNext()
2020-04-21T15:14:26  PID[25296] Information Sending response: 500.79 Internal Server Error

任何帮助将不胜感激。

答案1

尝试添加您的应用网址(https://XXXXX.azurewebsites.net/)在身份验证/授权->允许的外部重定向 URL

相关内容