Skip to content

bmd007/webauthn-workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Webauthn workshop

This repository is a playground for learning how to implement a Webauthn based authentication solution. The project contains a web application that allows users to register and authenticate using Webauthn. The backend is built using Spring Boot.

links:

TODO

  • Improve UI/UX.
    • Customize the webauthn UI.
  • Upgrade to the latest version of com.yubico:webauthn-server-core and refactor accordingly.
    • Clean up not required dependencies.
    • Check if attestation is actually needed to be part of this repo.
  • Understand the certificate setup of webauthn itself.
  • Understand how to recognize and limit possible authenticators.
  • Use Rsocket instead of HTTP.
  • Try wehauthn4j and compare.
    • Even add spring security to the mix
      • Is there a reactive spring security started available?
  • Add Flutter client.
  • Add a pure HTML/JS client
  • Contribute to the com.yubico:webauthn-server-core project and suggest improvements regarding use of optional.
  • Dockerization of the project.
  • Backend in other languages?
  • Add a github action to build the components on master

Requirements

  • Java 21 (requires JAVA_HOME to be set
  • node 18.17
  • npm 10

Local development setup:

certification

echo '127.0.0.1 local.bmd007.github.io' | sudo tee -a /etc/hosts
brew install mkcert
mkcert -install
cd react_app/ssl/generated
mkcert local.bmd007.github.io '*.local.bmd007.github.io' localhost 127.0.0.1 ::1
#Enter 'password' for the password of keystore:
openssl pkcs12 -export -in local.bmd007.github.io+4.pem -inkey local.bmd007.github.io+4-key.pem -out keystore.p12 -name localdev
cp keystore.p12 ../../../webauthn-server/src/main/resources/ssl/generated

Starting the applications

# ports 8080 and 3000 should be free !
cd webauthn-server && ./gradlew bootRun
cd ..
cd react_app && npm start

open https://local.bmd007.github.io:3000 in browser

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published