You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 5, 2025. It is now read-only.
I am currently attempting to use OIDC authentication in a legacy Winforms app. The login process is extremely arcane (it can happen in the background or through user action, and authentication can take a number of different forms). Much of the login code predates the async/await model in .net, and involves worker threads that occasionally post information back to the main UI thread (for example, status updates)
Because of this, I need to be able to call OidcClient.Login Synchronously. However, attempting to simply force synchronization don't work. Specifically:
Any workarounds would be appreciated. Attempts to call OidcClient.LoginAsync from an invoked callback in the UI thread deadlock (which makes sense). Rewriting my entire login process to use async/await is basically a nonstarter as it's literally thousands of lines of legacy code.
I am currently attempting to use OIDC authentication in a legacy Winforms app. The login process is extremely arcane (it can happen in the background or through user action, and authentication can take a number of different forms). Much of the login code predates the async/await model in .net, and involves worker threads that occasionally post information back to the main UI thread (for example, status updates)
Because of this, I need to be able to call OidcClient.Login Synchronously. However, attempting to simply force synchronization don't work. Specifically:
throws an exception:
InnerException = {"Cannot change thread mode after it is set. (Exception from HRESULT: 0x80010106 (RPC_E_CHANGED_MODE))"}
I believe I can generate a simple test case if necessary, assuming there's a good generic OAuth server running somewhere I could use as a test bed.
The text was updated successfully, but these errors were encountered: