Files
teleport/lib/auth/webauthn/httpserver
Alan Parra bac0ccdc99 Remove U2F support (#10476)
Follows up on #10466 by removing remaining U2F references, including proto/gRPC
surface and the lib/auth/u2f package itself.

#10375

* Remove U2F from lib/auth/ (1)
* Remove U2F from lib/auth/ (2)
* Remove U2F from lib/auth/ (3)
* Remove U2F from lib/services/
* Remove U2F from tsh mfa add suggestions
* Remove U2F protos
* Update generated protos
* Cleanup a few stragglers
* Remove lib/auth/u2f package
* Fix references to auth.MFAAuthenticateChallenge
* Revert needless lib/auth/password.go change
* Update e/ to ad8fd4a (U2F cleanup)
* Fix stragglers from latest master rebase
* Fix lint and compile failures
2022-02-24 19:54:28 +00:00
..
2022-02-24 19:54:28 +00:00

Webauthn httpserver

The httpserver package contains a toy Webauthn HTTPS server used to test web integration and the interplay between web-registered and tsh-registered devices.

Devices registered via either interface should be able to be used interchangeably (with the exception of Touch ID, which is always tied to a specific app).

This is meant for local testing and debugging only. Keep it far away from any production uses.

Why this exists?

  • It is a simple way to test web integration
  • It is a simple way to interact with Touch ID
  • Device registration (currently) relies on a streaming RPC, which is difficult to interact with using pure Js

Note that browser Webauthn APIs need a secure context (or you have to disable a bunch of checks in your browser, YMMV).

Usage

  1. Start the Teleport service
  2. Start the httpserver
# Generate TLS certificates for the server
# (Eg, `cd; mkcert localhost 127.0.0.1 ::1`)

# Start the test server
# cd /path/to/teleport/repo
go run ./lib/auth/webauthn/httpserver/ \
  -cert_file ~/localhost+2.pem \
  -key_file ~/localhost+3-key.pem
  1. Navigate to https://localhost:8080/index.html
  2. ?
  3. Profit