Information: the .NET.Framework port #495
Replies: 4 comments 2 replies
-
Hey I'm happy you're able to run passkeys on .Net Framework. Two things: Since I'm on the W3C I'll just share some advice: The spec is still heavily evolving and non-trivial changes are to come, so if you want to keep your port compliant, I'm just giving you a heads up of the upcoming work. For anyone else just looking to get Passkeys working on a .NET framework web app and feel discouraged about this library .net8 target: I'd recommend taking a look at the Bitwarden Passwordless.dev API. We have a .net framework SDK and you can use our hosted api or self-host a docker container. The passwordless api is how I run passkeys on all web sites I'm engaged with. |
Beta Was this translation helpful? Give feedback.
-
Anders, thanks for the notification! I'll try to keep in touch and of course respond to any problems that will occur with the ported code. Also, I'd be extremely grateful for any note that you leave here to inform about anything that could be important. There's at least one app I am aware of, scheduled for release, that will use the ported code and thus, I am highly interested in resolving issues as quickly as possible. Regards, |
Beta Was this translation helpful? Give feedback.
-
Wiktor, I have an established .NET Framework 4.8 application, and would like to add FIDO2 / WebAuthN to it. Would this version that you have ported to 4.7.2, work in 4.8? How complete is the implementation? Anything I should know before trying it out? Would you say this is ready for prime time? Thanks, Tim. |
Beta Was this translation helpful? Give feedback.
-
@timammons In short:
It's a straight port, where only incompatible apis and libraries were replaced. The core implementation is verified by some good unit tests and all these tests pass in the port, too. What can go wrong? The implementation is split between the client and the server and this is only the server part. We don't directly control the client part which is implemented in modern web browsers and devices. The server part could go wrong in two ways:
We tested this and verified
In few weeks I'll get more feedback from a production deployment that just starts slowly, a couple million of users. But I am also interested in other applications using this, in case of anything worth of fixing/improving, the more people the better. Regards. |
Beta Was this translation helpful? Give feedback.
-
In case anyone's interested, we've put some work into porting this awesome library to .NET.Framework 4.7.2
Fido2.NET.Framework
Comparing to .NET6+, there's no support for some minor data structures there. The most difficult part involved porting the NSec APIs to BouncyCastle.
This is still a work-in-progress, however, quite a lot of unit tests were also included and confirm the correctness of the ported code.
Thanks again for the original code!
Beta Was this translation helpful? Give feedback.
All reactions