Solving developer pain points with WebAuthn, JS edition

Good morning everyone,

Thank you for hearing me out at today’s meeting, I’m excited to be a part of this community group and look forward to helping drive work of communicating out development best practices.

On that note, I wanted to link out a new pair of JavaScript libraries I mentioned during the meeting. I released these last week as an attempt at smoothing over a lot of the rough edges of working with WebAuthn in a JS context:

https://github.com/MasterKale/SimpleWebAuthn <https://github.com/MasterKale/SimpleWebAuthn>

This is a pair of complimentary libraries, one for the front end and back end, that I created from code I authored a few months ago while building a “passwordless” WebAuthn-powered OIDC auth service as a side project/POC a few months back (https://dontneeda.pw/ <https://dontneeda.pw/>, if you’re interested. You can see the OAuth side of things in action from this simple client I created for demo purposes: https://matts-peanut-butter-emporium.netlify.app/ <https://matts-peanut-butter-emporium.netlify.app/>).

The point of my “SimpleWebAuthn” project is to simplify the work of incorporating WebAuthn into a Node backend. The decision to lift up ArrayBuffer manipulation into the app layer butts up against the fact that, in JavaScript land, front end and back end communicate almost exclusively via JSON; a Buffer is not a supported JSON data type, and so every JS project wishing to leverage WebAuthn now needs to include code to handle converting back and forth between ArrayBuffers/Uint8Arrays and strings.

In my opinion it’s pain points like these that we should focus on highlighting solutions to (if not outright defining/authoring de facto libraries) with our “todoMVC” site if we want quick buy-in from devs.

Thank you,
-Matthew Miller

Received on Monday, 1 June 2020 18:12:13 UTC