Files
teleport/lib/auth/webauthn/httpserver/README.md
T
Alan Parra e37760191c Add a toy Webauthn web interface (#8326)
The toy interface serves a few purposes:

Easy testing of Webauthn login and of interop between CLI and Web
Reference for the actual Web UI implementation

* Add a toy Webauthn web interface
* Use the device type to decide whether to use the App ID
* Small tweaks in server and Js
* Fix webauthncli TestLogin breakage
* Replace Printf with Println
2021-09-22 12:15:12 -03:00

42 lines
1.1 KiB
Markdown

# 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
```shell
# 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
```
3. Navigate to https://localhost:8080/index.html
4. ?
5. Profit