-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
webauthn-rs command line #414
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@micolous what do you think?
@micolous If you have some item to review as well, that'd be great. |
Okay, I've run rust fmt. Sorry, I'm a novice Rustacean. |
Its okay, that's what the checks are for. You've done pretty well for a first time :) |
Please let me know if there's anything else I should do. Thanks. |
@micolous has just been really busy is all :) I'll ask him again to have a look. |
Just pinging again. I'd love to write about this on my blog. I'm sure that there are other people who could make use of this. Perhaps I'm flattering myself, but I think a JSON-based API like this with your excellent underlying Rust implementation could allow other programming languages to implement Webauthn more quickly. Webauthn adoption isn't moving as quickly as it should. Thanks, and sorry if I'm being a pest. I know that everyone's busy. |
Oh I'm so sorry this fell by the wayside! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the delays! I think what you've got is a good start – the suggestions here would make things more robust and follow rust-isms better. Thanks!
I believe that I've incorporated all of your suggestions. Would you please take a look when you have a chance? Thanks. |
04f0d54
to
3e558bc
Compare
Per micolous.
Per micolous.
Per micolous.
Now that a506d89 is committed, I've rebased and force-pushed onto that. I don't know whether that will fix the PR run failure I received email about. |
I restarted the CI to check :) |
It failed again, but the underlying error appears to be "error: package Oh, I see that it's failing on master, too: https://github.com/kanidm/webauthn-rs/commits/master/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup, bumpalo
breakage is not your fault. #428 should fix that.
Otherwise things look good now, thanks for sticking with this. 😄
I'm thrilled! Thanks. |
@arthurgleckler This has now been released on crates.io. Thank you! |
Fixes # This pull request implements a new feature, not a fix.
This pull request implements the basic
webauthn-rs
command line that I mentioned in the discussion of issue #397. The idea is that this wrapper can be used for debugging and experimentation. It can also be used to implementwebauthn
in programming languages other than Rust. This is simplified by passing JSON to and from the command-line process rather than using a foreign function interface.If you run
make
undertutorial/server/cli/
, you'll see the result of running the command line for the two steps of passkey registration and the two steps of authentication. It's modeled after thetutorial/server/tide/
example.Using this wrapper, I've implemented, in some code that is still private, a webauthn registration and login system in the programming language Scheme, with a Javascript front end. I've tested it with both a Yubikey 5C key and a Pixel phone passkey.
I've included minimal documentation in the comments, but I'm happy to add more if you think this pull request is a good idea.
Thank you very much for making
webauthn-rs
available. Without it, implementingwebauthn
for a Scheme front end would have been vastly more work.