webauthn-rs icon indicating copy to clipboard operation
webauthn-rs copied to clipboard

webauthn-rs command line

Open arthurgleckler opened this issue 1 year ago • 5 comments

Fixes # This pull request implements a new feature, not a fix.

  • [x] cargo test has been run and passes
  • [x] documentation has been updated with relevant examples (if relevant)

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 implement webauthn 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 under tutorial/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 the tutorial/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, implementing webauthn for a Scheme front end would have been vastly more work.

arthurgleckler avatar Jan 13 '24 04:01 arthurgleckler