Aspnetcore: Blazor WebAssembly Hosted Proxy crash on successful authentication

Created on 4 Sep 2020  Â·  5Comments  Â·  Source: dotnet/aspnetcore

Describe the bug

The debug connector / browser fails on successful authentication (with password completed by the browser).

To Reproduce

I don't have an easy way to reproduce it, just that I and at least one other person have had this issue. Starting a new template project did not reproduce the problem. I am unclear what circumstances cause this. In my situation, starting the project (using IISex or the app server model) in VS (2019 now V16.7.2)
The program starts, the browser loads as far as the log in page. If I allow Chrome to complete the password, then it will log in, and (using breakpoints at the server end) is successful. However, running on will cause the debug session to just cease, closing the browser.
If I don't allow Chrome to use the saved password, then it completes and logs in fine without killing the debug session.
There is a Stackoverflow post about it here:
https://stackoverflow.com/questions/63651738/blazor-webassembly-hosted-proxy-crash-on-successful-authentication/63662595?noredirect=1#comment112657495_63662595

Logs & Exceptions

I don't have time to do this exercise again right now with all the logs running as it has already cost a lot of time, and I can use the work around for now. Just thought you would want to know.

Duplicate Resolved area-blazor feature-blazor-debugging

Most helpful comment

@BrettButcher - yep - I eventually got it working. But I had to ensure that the saving address and save password features were turned off ... in addition to manually typing them in.

Super weird bug that these browser features would crash the debugger proxy.

All 5 comments

cc/ @captainsafia

I'm experiencing the same issue. I think it's linked to https://github.com/dotnet/aspnetcore/issues/20511

But I don't know what the workaround/fix is.

I was able to repro in clean project (I also re-installed VS Version 16.7.2 just incase).

  1. New Blazor WebAssembly Project with Authentication (Local Users)
  2. Run Migrations
  3. Start debugging with with "Server" option (i.e. Not IIS)
  4. Register a User / Confirm a User
  5. Login with the user.
  6. Browser closes immediately. Below is the tail of vscode-edge-debug.

{"tag":"cdp.receive","timestamp":1599445143914,"metadata":{"connectionId":0,"message":{"method":"Network.loadingFinished","params":{"requestId":"11108.70","timestamp":57750.692207,"encodedDataLength":0,"shouldReportCorbBlocking":false},"sessionId":"F60903F81B26889C0BC4ECF0DB48554E"}},"level":0}
{"tag":"cdp.receive","timestamp":1599445143935,"metadata":{"connectionId":0,"message":{"method":"Debugger.scriptParsed","params":{"scriptId":"84","url":"https://localhost:5008/_content/Microsoft.AspNetCore.Components.WebAssembly.Authentication/AuthenticationService.js","startLine":0,"startColumn":0,"endLine":43,"endColumn":66066,"executionContextId":14,"hash":"0e2bf1d4a1088b711c1bbd299928d77477a570d7","executionContextAuxData":{"isDefault":true,"type":"default","frameId":"17EFC51A4F3846473024F86742AEDDA9"},"isLiveEdit":false,"sourceMapURL":"","hasSourceURL":false,"isModule":false,"length":274193,"scriptLanguage":"JavaScript"},"sessionId":"F60903F81B26889C0BC4ECF0DB48554E"}},"level":0}
{"tag":"runtime.sourcecreate","timestamp":1599445143937,"message":"Creating source from url","metadata":{"inputUrl":"https://localhost:5008/_content/Microsoft.AspNetCore.Components.WebAssembly.Authentication/AuthenticationService.js","absolutePath":"C:\Users\philip\.nuget\packages\microsoft.aspnetcore.components.webassembly.authentication\3.2.1\staticwebassets\AuthenticationService.js"},"level":0}
{"tag":"cdp.receive","timestamp":1599445143942,"metadata":{"connectionId":0,"message":{"method":"Network.responseReceived","params":{"requestId":"11108.71","loaderId":"5E647ED1725D67F4FB8D8270D4164D82","timestamp":57750.752252,"type":"Script","response":{"url":"https://localhost:5008/_framework/blazor.webassembly.js","status":200,"statusText":"","headers":{"date":"Mon, 07 Sep 2020 02:19:03 GMT","content-encoding":"gzip","last-modified":"Mon, 07 Sep 2020 02:03:59 GMT","server":"Kestrel","etag":"\"1d684bb2647eafc\"","blazor-environment":"Development","vary":"Content-Encoding","content-type":"application/javascript","status":"304","cache-control":"no-cache","accept-ranges":"bytes","content-length":"15228"},"mimeType":"application/javascript","connectionReused":true,"connectionId":56,"remoteIPAddress":"[::1]","remotePort":5008,"fromDiskCache":false,"fromServiceWorker":false,"fromPrefetchCache":false,"encodedDataLength":291,"timing":{"requestTime":57750.68275,"proxyStart":-1,"proxyEnd":-1,"dnsStart":-1,"dnsEnd":-1,"connectStart":-1,"connectEnd":-1,"sslStart":-1,"sslEnd":-1,"workerStart":-1,"workerReady":-1,"workerFetchStart":-1,"workerRespondWithSettled":-1,"sendStart":3.355,"sendEnd":4.145,"pushStart":0,"pushEnd":0,"receiveHeadersEnd":38.33},"responseTime":1599445143903.873,"protocol":"h2","securityState":"secure","securityDetails":{"protocol":"TLS 1.2","keyExchange":"ECDHE_RSA","keyExchangeGroup":"P-384","cipher":"AES_256_GCM","certificateId":0,"subjectName":"localhost","sanList":["localhost"],"issuer":"localhost","validFrom":1587949657,"validTo":1619485657,"signedCertificateTimestampList":[],"certificateTransparencyCompliance":"not-compliant"}},"frameId":"17EFC51A4F3846473024F86742AEDDA9"},"sessionId":"F60903F81B26889C0BC4ECF0DB48554E"}},"level":0}
{"tag":"cdp.receive","timestamp":1599445143942,"metadata":{"connectionId":0,"message":{"method":"Network.dataReceived","params":{"requestId":"11108.71","timestamp":57750.752587,"dataLength":60469,"encodedDataLength":0},"sessionId":"F60903F81B26889C0BC4ECF0DB48554E"}},"level":0}
{"tag":"cdp.receive","timestamp":1599445143942,"metadata":{"connectionId":0,"message":{"method":"Network.loadingFinished","params":{"requestId":"11108.71","timestamp":57750.722231,"encodedDataLength":291,"shouldReportCorbBlocking":false},"sessionId":"F60903F81B26889C0BC4ECF0DB48554E"}},"level":0}
{"tag":"dap.send","timestamp":1599445143945,"metadata":{"connectionId":0,"message":{"seq":152,"type":"event","event":"loadedSource","body":{"reason":"new","source":{"name":"localhost꞉5008/_content/Microsoft.AspNetCore.Components.WebAssembly.Authentication/AuthenticationService.js","path":"C:\Users\philip\.nuget\packages\microsoft.aspnetcore.components.webassembly.authentication\3.2.1\staticwebassets\AuthenticationService.js","sourceReference":0}},"sessionId":"F60903F81B26889C0BC4ECF0DB48554E"}},"level":0}
{"tag":"dap.send","timestamp":1599445144772,"metadata":{"connectionId":0,"message":{"seq":17,"type":"event","event":"terminated","body":{}}},"level":0}
{"tag":"dap.receive","timestamp":1599445144777,"metadata":{"connectionId":0,"message":{"type":"request","command":"disconnect","arguments":{},"seq":5}},"level":0}
{"tag":"dap.send","timestamp":1599445144778,"metadata":{"connectionId":0,"message":{"seq":18,"type":"response","request_seq":5,"command":"disconnect","success":true,"body":{}}},"level":0}
{"tag":"dap.receive","timestamp":1599445144814,"metadata":{"connectionId":0,"message":{"type":"request","command":"disconnect","arguments":{"terminateDebuggee":false},"seq":5,"sessionId":"F60903F81B26889C0BC4ECF0DB48554E"}},"level":0}
{"tag":"dap.send","timestamp":1599445144814,"metadata":{"connectionId":0,"message":{"seq":153,"type":"event","event":"output","body":{"category":"telemetry","output":"js-debug/breakpointStats","data":{"set":0,"verified":0,"hit":0}},"sessionId":"F60903F81B26889C0BC4ECF0DB48554E"}},"level":0}
{"tag":"dap.send","timestamp":1599445144815,"metadata":{"connectionId":0,"message":{"seq":154,"type":"event","event":"thread","body":{"reason":"exited","threadId":0},"sessionId":"F60903F81B26889C0BC4ECF0DB48554E"}},"level":0}
{"tag":"dap.send","timestamp":1599445144815,"metadata":{"connectionId":0,"message":{"seq":155,"type":"event","event":"terminated","body":{},"sessionId":"F60903F81B26889C0BC4ECF0DB48554E"}},"level":0}
{"tag":"dap.send","timestamp":1599445144816,"metadata":{"connectionId":0,"message":{"seq":156,"type":"response","request_seq":5,"command":"disconnect","success":true,"body":{},"sessionId":"F60903F81B26889C0BC4ECF0DB48554E"}},"level":0}

I'm experiencing the same issue. I think it's linked to #20511

But I don't know what the workaround/fix is.

@philipri Did you try manually typing in the username and password. This works for me and the other contributor on the Stack Overflow issue.

@BrettButcher - yep - I eventually got it working. But I had to ensure that the saving address and save password features were turned off ... in addition to manually typing them in.

Super weird bug that these browser features would crash the debugger proxy.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

farhadibehnam picture farhadibehnam  Â·  3Comments

markrendle picture markrendle  Â·  3Comments

githubgitgit picture githubgitgit  Â·  3Comments

fayezmm picture fayezmm  Â·  3Comments

FourLeafClover picture FourLeafClover  Â·  3Comments