Replies: 3 comments
-
Hey, Sorry for the slow response. The be short: If this solves a real issue we're happy to take a look at it. Pull requests are welcome! (Also, thank you for the detailed description and link. 🙂) |
Beta Was this translation helpful? Give feedback.
-
Hey, I will try to do a PR, it is simple enough That change would still be needed if the winhello bug is fixed though, or even to correctly parent a standard non secure desktop application UI to winhello, so still useful. Will do that PR. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
In your code you are calling windows hello passing GetForegroundWindow() or GetTopWindow() as the parent window handle to WebAuthNAuthenticatorGetAssertion().
The problem is I am using libfido2 in a Windows Credential Provider, which is running on the Secure Desktop (the logon screen). It seems the above method are only getting the Top windows on the classic user desktop. In practice what is happening is when you are calling windows hello in my credential provider, nothing seems to happen, but if you do manage to unlock the logon screen you are finally being presented with windows hello (a bit too late :) ).
The thing is the Credential Provider interface is already giving me a windows handle, all I would need to do is to give it to you so you can pass it to windows hello.
So would it be possible to have an additional function, something like fido_winhello_set_window_handle(HWND handle) ?
And you can still keep using GetForegroundWindow/GetTopWindow if it is not called.
Maybe that should be an issue instead of a feature request considering it makes libfido2 with winhello unusable on the secure desktop.
I know you are more linux guys so here is a link talking about the secure desktop.
The gist of it though is it's completely separated from the user desktop and is running in a process under the SYSTEM account, and only the system can switch between the different desktops. So if winhello is displayed on the wrong desktop, it is completely invisible for the user.
Beta Was this translation helpful? Give feedback.
All reactions